hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Cấu trúc dữ liệu và giải thuật
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
      • MongoDB
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Lập trình C#
      • Lập Trình C# Cơ Bản
      • ASP.NET Core MVC
    • Machine Learning
    • Git và Github
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • MongoDB
Làm việc với cơ sở dữ liệu MongoDB

Làm việc với cơ sở dữ liệu MongoDB

  • 03-03-2026
  • Toanngo92
  • 0 Comments

Mục lục

    • 2.1 Cài đặt MongoDB Database Tools
      • Cài MongoDB Database Tools trên Windows
      • Bước 5
      • Bước 6
      • Bước 7
      • Bước 8
      • Bước 9
    • Nạp bộ dữ liệu mẫu vào MongoDB Server
    • Các kiểu dữ liệu trong MongoDB
    • Làm việc với Database và Collection
    • Tạo Database
    • Tạo Collection
    • Chèn Document
        • Insert a Single Document (Chèn một document)
        • Insert Multiple Documents (Chèn nhiều document)
    • Query Document
    • Update Document
      • Update Single Document (Cập nhật một document)
      • Table 2.4: Parameters of updateOne() Method
    • Update Multiple Documents (Cập nhật nhiều document)
    • Delete Document
    • Delete Single Document (Xóa một document)
      • Table 2.5: Parameters of deleteOne() Method
  • Delete Multiple Documents (Xóa nhiều document)
    • Table 2.6: Parameters of deleteMany() Method
    • Drop Collection
    • Drop Database

2.1 Cài đặt MongoDB Database Tools

MongoDB cung cấp một tập hợp các công cụ giúp người dùng làm việc và quản lý cơ sở dữ liệu.

Tên công cụMô tả
mongodumpXuất và tạo bản sao lưu nhị phân của cơ sở dữ liệu
mongorestoreKhôi phục dữ liệu từ mongodump vào database
mongoexportXuất dữ liệu sang JSON hoặc CSV
mongoimportNhập dữ liệu từ CSV, JSON, TSV
bsondumpChuyển file BSON sang JSON
mongotopTheo dõi thời gian đọc/ghi của MongoDB
mongofilesThao tác file lưu trong MongoDB
mongostatThống kê insert, delete, update, memory
mongoshKết nối MongoDB, CRUD, viết script JavaScript
Bảng 2.1 mô tả một số công cụ MongoDB phổ biến.

Cài MongoDB Database Tools trên Windows

  1. Mở trình duyệt và truy cập:https://www.mongodb.com/try/download/database-tools
  2. Cuộn xuống và đảm bảo:
    • Version: 100.12.2
    • Platform: Windows x86_64
    • Package: msi
  3. Nhấn Download
  4. Sau khi tải xong, chạy file cài đặt
  5. Trình cài đặt MongoDB Tools 100 mở ra như trong Hình 2.1
Figure 2.1: MongoDB Tools Setup Wizard

Bước 5

Nhấn Next.

Bước 6

Ở trang End-User License Agreement, chọn
“I accept the terms in the License Agreement”.

Bước 7

Giao diện custom Setup hiển thị như hình

Bước 8

Bấm next

Giao diện Ready to Install MongoDB hiển thị như hình

Bước 9

Bấm install

Giao diện hiển thị cài đặt hoàn thành như hình

Bấm Finish

Hiện tại, mongoDB Database Tools đã được cài đặt. Bước tiếp theo là cài đặt biến môi trường cho tệp thực thi. Để cài đặt biến môi trường:

Mở Control Panel trong windows

Trong cửa sổ Control Panel, lựa chọn System and Security hiển thị như hình

Trong cửa sổ System and Security đang mở, bấm System

Trong System -> About đang mở, chọn Advanced System Settings như hình

Cửa sổ System Properties đang mở, lựa chọn Environment Variables như hình

Trong cửa sổ Environment Variables đang mở, dưới khu vực System vvariables, chọn Path và bấm Edit như hình

Trong cửa sổ Edit environment variable, bấm New , sau đó bấm browse để điều hướng tới thư mục mà công cụ làm việc với database được cài đặt.

Bấm OK với tất cả cửa sổ để lưu lại cấu hình

Nạp bộ dữ liệu mẫu vào MongoDB Server

Để nạp một bộ dữ liệu mẫu vào MongoDB Server bằng công cụ mongoimport:

  1. Sao chép bất kỳ bộ dữ liệu mẫu nào và đặt nó vào ổ C. Trong ví dụ này dùng sample_weatherdata để minh họa.
  2. Mở command prompt.
  3. Để chạy MongoDB instance, thực thi lệnh:
"C:\Program Files\MongoDB\Server\8.0\bin\mongod.exe" --dbpath="c:\data\db"

Lệnh được thực thi như [ảnh minh họa] Figure 2.10.

Figure 2.10: Starting the MongoDB Database

Tùy chọn --dbpath cho biết thư mục database. Nếu MongoDB database server chạy đúng, thông báo waiting for connections sẽ hiển thị như hình

Figure 2.11: Waiting for Connections Message

Bây giờ, MongoDB instance mongod đã chạy thành công.

4. Mở một command prompt mới và gõ lệnh:

mongoimport --db sample_weatherdata --collection data --jsonArray --file C:\Sample_dataset\sample_weatherdata\data.json

Lệnh được thực thi như hình

Figure 2.12: Import Sample Data

Bộ dữ liệu mẫu hiện đã được import vào instance mongod.

5. Để xác minh, chạy lệnh trong MongoDB shell như sau:

mongosh

Lệnh được thực thi như hình

Figure 2.13: Mongosh Command

6. Để xem các database hiện có trong instance mongod này, thực thi:

show dbs

Lệnh được thực thi như hình

Figure 2.14: show dbs

Điều này xác nhận rằng dữ liệu mẫu có tên sample_weatherdata đã được import vào instance mongod.

Ghi chú: Lệnh show dbs chỉ hiển thị database khi database đó có ít nhất một document.

Các kiểu dữ liệu trong MongoDB

MongoDB lưu trữ dữ liệu nội bộ theo định dạng BSON. BSON là phần mở rộng của JSON. Nó hỗ trợ tất cả kiểu dữ liệu mà JSON hỗ trợ. Ngoài ra, nó còn hỗ trợ các kiểu khác như date, timestamp, và binary data. Bảng 2.2 mô tả các kiểu dữ liệu có trong MongoDB.

Table 2.2: Datatypes in MongoDB (Bảng 2.2: Các kiểu dữ liệu trong MongoDB)

  • String: Dùng để lưu văn bản trong MongoDB. Chuỗi BSON là dạng UTF-8 (Universal Coded Character Set Transformation Format).
    Ví dụ: Lưu tên học sinh/nhân viên, chức danh nhân viên, địa chỉ.
  • Integer: Dùng để lưu số nguyên. MongoDB có 2 biến thể: số nguyên có dấu 32-bit và 64-bit.
    Ví dụ: điểm số học sinh, lương nhân viên, số lượng sản phẩm trong kho.
  • Double: Dùng để lưu số thực dạng dấu chấm động 8 byte.
    Ví dụ: nhiệt độ, doanh thu, giá của một mặt hàng.
  • Decimal: Dùng để lưu giá trị dấu chấm động thập phân 128-bit.
    Ví dụ: các phép tính tài chính và khoa học.
  • Boolean: Dùng để lưu giá trị true/false.
    Ví dụ: lưu giá trị các trường Is_married, Is_fulltime_employee, Is_passed.
  • Null: Dùng để lưu giá trị NULL.
    Ví dụ: lưu số bằng lái của người không có bằng lái.
  • Array: Là tập hợp nhiều giá trị cùng kiểu hoặc khác kiểu.
    Ví dụ: lưu điểm của học sinh trong 5 môn.
  • Object: Dùng để lưu embedded documents (tài liệu nhúng).
    Ví dụ: lưu mô tả một sản phẩm bao gồm hình dạng, màu sắc, kích thước.
  • Object ID: Là định danh duy nhất cho mỗi document trong collection. Là chuỗi thập lục phân 12 bytes bao gồm:
    • Timestamp (4 bytes)
    • Random value (5 bytes) với 3 bytes là machine ID và 2 bytes là process ID
    • Counter (3 bytes)
      Ví dụ: một ID dạng thập lục phân mà MongoDB gán cho mỗi field mới trong MongoDB, ví dụ "64617a0420cf1016275bd88f".
  • Date: Lưu ngày dưới dạng số nguyên có dấu 64-bit, là UTC datetime. Định dạng BSON này lưu được ngày trước/sau 01/01/1970 00:00:00 bằng bit dấu âm/dương. Khi người dùng tạo biến date trong MongoDB, nó trả về ngày dạng chuỗi. Khi tạo bằng keyword new, MongoDB trả về theo chuẩn ISODate.
    Ví dụ:
    • String date: Mon May 15 2025 01:03:25 GMT-0500 (EST)
    • ISODate: 2025-05-15T04:25:48.512Z
  • Timestamp: MongoDB dùng nội bộ để duy trì thứ tự các thao tác và sự kiện replication.
    Ví dụ: ghi nhận thời điểm một document được cập nhật lần cuối trong môi trường replicated.
  • Binary Data: Dùng để lưu dữ liệu không phải text như hình ảnh, file hoặc nội dung mã hóa ở dạng nhị phân.
    Ví dụ: lưu ảnh hồ sơ (profile picture) trong một field.
  • Vector Data: Cách dùng mang tính khái niệm trong MongoDB 8.0 để lưu dữ liệu số nhiều chiều (high-dimensional numeric data) như AI embeddings bằng các mảng kiểu Double.
    Ví dụ: lưu vector đa chiều phục vụ tìm kiếm ngữ nghĩa hoặc hệ gợi ý.

Làm việc với Database và Collection

Giả sử người dùng muốn tạo một database trong MongoDB và thực hiện một số thao tác trong đó. MongoDB cung cấp một tập lệnh hỗ trợ tạo và xóa database/collection. MongoDB cũng cung cấp lệnh dùng để insert, query, update, delete document trong một collection.

Tạo Database

Giả sử người dùng muốn tạo database tên Student_detail.
Cú pháp tạo database là:

use DATABASE_NAME

Để tạo database tên Student_detail:

  1. Đảm bảo instance mongod đang chạy.
  2. Để chạy MongoDB Shell, tại command prompt thực thi:
mongosh
  1. Để tạo database tên Student_detail, chạy lệnh:
use Student_detail

Lệnh được thực thi như hình

Figure 2.15: Create Database

Database tên Student_detail đã được tạo.

Tạo Collection

Giả sử người dùng muốn tạo collection tên Studentinfo trong database Student_detail.
Cú pháp để tạo collection hoặc view là:

db.createCollection(name, options)

Bảng 2.3 mô tả các tham số của lệnh createCollection.

Table 2.3: Parameters of createCollection() Method (Bảng 2.3: Tham số của phương thức createCollection())

  • name
    • Type: String
    • Description: Tham số này chỉ định tên collection sẽ được tạo. Đây là tham số bắt buộc.
  • options
    • Type: Document
    • Description: Tham số tùy chọn. Bao gồm các field quy định entity tạo ra phải là:
    • Capped collection: Collection có kích thước cố định. Khi đạt kích thước tối đa, các document cũ nhất sẽ bị xóa để tạo chỗ cho bản ghi mới. Tùy chọn này cần chỉ rõ tham số kích thước và số lượng document tối đa có thể tạo.
    • Timeseries collection: Collection chuỗi thời gian lưu các chuỗi điểm dữ liệu (cặp key-value) theo một khoảng thời gian, kèm thời điểm ghi nhận.
    • Clustered collection: Collection được lưu theo thứ tự của một clustered index. Một key value xác định thứ tự sắp xếp document trong collection. Tham số này có thể gồm key value field, uniqueness của clustered index và tên index.
    • View: View là collection ảo. Nếu tạo view thì phải chỉ định tên source collection hoặc view.
    • Tham số này cũng bao gồm field validator cho phép người dùng tạo collection với các quy tắc validation do người dùng định nghĩa.

Để tạo collection tên Studentinfo trong database Student_detail:

  1. Để chuyển sang database Student_detail, thực thi:
use Student_detail
  1. Để tạo collection Studentinfo, thực thi:
db.createCollection("Studentinfo")

Lệnh được thực thi như hình

Figure 2.16: Create Collection

Collection Studentinfo đã được tạo.

3. Để xem collection bên trong database Student_detail, thực thi:

show collections

Lệnh được thực thi như hình

Figure 2.17: Show Collections

Chèn Document

Document có thể được chèn vào một collection trong database. MongoDB cung cấp tùy chọn để chèn một document hoặc nhiều document vào một collection.

Insert a Single Document (Chèn một document)

Cú pháp để chèn một document vào collection là:

db.collection.insertOne()

Giả sử người dùng muốn chèn một document vào collection Studentname trong database Student_detail.

Để thực hiện tác vụ này, chạy các lệnh:

db.createCollection("Studentname")
db.Studentname.insertOne({"Name": "Richard"})

Lệnh được thực thi như hình

Figure 2.18: Insert Single Document

Một document đã được chèn vào collection Studentname.

Giá trị insertedID trong output là định danh duy nhất do MongoDB tạo cho mỗi document. Định danh này thuộc kiểu dữ liệu ObjectId.

Ghi chú: Nếu người dùng cố chèn document vào một collection chưa tồn tại trong database, thì MongoDB sẽ tự động tạo collection đó.

Insert Multiple Documents (Chèn nhiều document)

Cú pháp để chèn nhiều document vào một collection là:

db.collection.insertMany()

Giả sử người dùng muốn chèn ba document vào collection Studentmarks trong database Student_detail.

Query Document

MongoDB cung cấp các lệnh để truy xuất (retrieve) các document từ một collection.
Cú pháp để truy xuất tất cả các document trong một collection là:

db.collection.find()

Giả sử người dùng muốn truy xuất tất cả các document trong collection Studentmarks.
Để thực hiện tác vụ này, chạy lệnh:

db.Studentmarks.find()
Figure 2.20: Retrieve Documents in a Collection

(Nội dung hiển thị các document trong collection Studentmarks, bao gồm các trường:
_id, Name, Age, Subject1, Subject2.)

Tất cả các document trong collection Studentmarks được truy xuất và hiển thị.

Dưới đây là bản dịch đầy đủ, chi tiết, không rút gọn từ trang 50 trở đi, đúng theo nội dung trong hình anh gửi.

Update Document

MongoDB cung cấp hai phương thức khác nhau để cập nhật document trong một collection.
Các phương thức này có thể được sử dụng để:

  • Cập nhật một document
  • Cập nhật nhiều document

Update Single Document (Cập nhật một document)

Cú pháp để cập nhật một document là:

db.collection.updateOne(filter, update, options)

Bảng 2.4 mô tả các tham số của phương thức updateOne().

Table 2.4: Parameters of updateOne() Method

ParameterTypeDescription
filterDocumentTham số này xác định tiêu chí lựa chọn dựa trên đó thao tác cập nhật sẽ được thực hiện. Nếu nhiều document thỏa mãn tiêu chí, thì chỉ document đầu tiên được cập nhật. Tham số này là bắt buộc.
updateDocumentTham số này xác định sự thay đổi sẽ được áp dụng cho các document đã được lọc. Tham số này là bắt buộc.
optionsDocumentTham số này xác định một số tùy chọn bổ sung — upsert, writeConcern, collation, arrayFilters và hint — cho phương thức cập nhật. Các tùy chọn này sẽ được tìm hiểu chi tiết trong các phần sau. Tham số này là tùy chọn.

Giả sử người dùng muốn cập nhật giá trị của trường Name thành “David” khi giá trị hiện tại của trường Name là “Robert”.
Để thực hiện tác vụ này, thực thi lệnh:

db.Studentmarks.updateOne({"Name":"Robert"}, {$set:{"Name":"David"}})

Lệnh được thực thi như minh họa trong Hình 2.21.

Figure 2.21: Method to Update Single Document

Document đã được cập nhật.
Để xem document đã cập nhật, thực thi lệnh:

db.Studentmarks.find()

Lệnh được thực thi như minh họa trong Hình 2.22.

Figure 2.22: Updated Document

Update Multiple Documents (Cập nhật nhiều document)

Cú pháp để cập nhật nhiều document là:

db.collection.updateMany(filter, update, options)

Giả sử người dùng muốn cập nhật và đặt giá trị của Subject2 thành 99 cho tất cả các document mà giá trị của Subject1 lớn hơn 80.
Để thực hiện tác vụ này, thực thi lệnh:

db.Studentmarks.updateMany({"Subject1":{$gt: 80}}, {$set:{"Subject2":99}})

Lệnh được thực thi như minh họa trong Hình 2.23.

Figure 2.23: Method to Update Many Documents

Document đã được cập nhật. Trong lệnh này, $gt là một toán tử so sánh được sử dụng để lọc ra chỉ những document có giá trị của trường Subject1 lớn hơn 80.

Để xem các document đã cập nhật, thực thi lệnh:

db.Studentmarks.find()

Lệnh được thực thi như minh họa trong Hình 2.24.

Figure 2.24: Updated Documents

Ở đây, hai document được cập nhật vì chúng thỏa mãn tiêu chí đã chỉ định.


Delete Document

MongoDB cung cấp hai phương thức khác nhau để xóa document trong một collection.
Các phương thức này có thể được sử dụng để:

  • Xóa một document
  • Xóa nhiều document

Delete Single Document (Xóa một document)

Cú pháp để xóa một document là:

db.collection.deleteOne(filter, options)

Bảng 2.5 mô tả các tham số của phương thức deleteOne().

Table 2.5: Parameters of deleteOne() Method

ParameterTypeDescription
filterDocumentTham số này xác định tiêu chí lựa chọn dựa trên đó thao tác xóa sẽ được thực hiện. Nếu tiêu chí rỗng được đề cập, thì document đầu tiên được trả về trong collection sẽ bị xóa. Tham số này là bắt buộc.
optionsDocumentTham số này xác định một số tùy chọn bổ sung — writeConcern, collation và hint — cho phương thức xóa. Các tùy chọn này sẽ được tìm hiểu chi tiết trong các phần sau. Tham số này là tùy chọn.

Giả sử người dùng muốn xóa document có giá trị của trường Name là “Oliver”.
Để thực hiện tác vụ này, thực thi lệnh:

db.Studentmarks.deleteOne({"Name":"Oliver"})

Lệnh được thực thi như minh họa trong Hình 2.25.

Figure 2.25: Method to Delete Single Document

Document có giá trị trường Name là “Oliver” đã bị xóa.
Để xác minh điều này, thực thi lệnh:

db.Studentmarks.find()

Lệnh được thực thi như minh họa trong Hình 2.26.

Figure 2.26: Output of deleteOne() Method

Dưới đây là bản dịch đầy đủ, chi tiết, không rút gọn phần tiếp theo (trang 56–59 trong ảnh anh gửi).


Delete Multiple Documents (Xóa nhiều document)

Cú pháp để xóa nhiều document là:

db.collection.deleteMany(filter, options)

Bảng 2.6 mô tả các tham số của phương thức deleteMany().


Table 2.6: Parameters of deleteMany() Method

(Bảng 2.6: Các tham số của phương thức deleteMany())

ParameterTypeDescription
filterDocumentTham số này xác định tiêu chí lựa chọn dựa trên đó thao tác xóa sẽ được thực hiện. Nếu tiêu chí rỗng được chỉ định, thì tất cả các document trong collection sẽ bị xóa. Tham số này là bắt buộc.
optionsDocumentTham số này xác định một số tùy chọn bổ sung — writeConcern, collation và hint — cho phương thức xóa. Các tùy chọn này sẽ được tìm hiểu chi tiết trong các phần sau. Tham số này là tùy chọn.

Giả sử người dùng muốn xóa tất cả các document mà giá trị của trường Age lớn hơn 14.
Để thực hiện tác vụ này, thực thi lệnh:

db.Studentmarks.deleteMany({"Age": {$gt:14}})

Lệnh được thực thi như minh họa trong Hình 2.27.

Figure 2.27: Method to Delete Many Documents

Những document có giá trị của trường Age lớn hơn 14 đã bị xóa.
Để xem kết quả, thực thi lệnh:

db.Studentmarks.find()

Lệnh được thực thi như minh họa trong Hình 2.28.

Figure 2.28: Output of deleteMany() Method

Drop Collection

MongoDB cung cấp một phương thức để loại bỏ (remove) một collection khỏi cơ sở dữ liệu.
Cú pháp để xóa một collection là:

db.collection.drop()

Giả sử người dùng muốn xóa collection có tên Studentmarks khỏi cơ sở dữ liệu Student_detail.
Để thực hiện tác vụ này, thực thi lệnh:

db.Studentmarks.drop()

Lệnh được thực thi như minh họa trong Hình 2.29.

Figure 2.29: Dropping a Collection

Collection Studentmarks đã bị xóa.
Trong MongoDB, khi một collection bị xóa, tất cả các index liên quan đến collection đó cũng sẽ bị xóa.

Drop Database

MongoDB cung cấp một phương thức để xóa một database.
Cú pháp để xóa một database là:

db.dropDatabase()

Phương thức này sẽ xóa database hiện tại.
Giả sử người dùng muốn xóa database Student_detail.
Để thực hiện tác vụ này, thực thi lệnh:

db.dropDatabase()

Lệnh được thực thi như minh họa trong Hình 2.30.

Figure 2.30: Method to Drop a Database

Database Student_detail đã bị xóa.
Khi một database bị xóa, tất cả các collection và các file dữ liệu liên quan đến database đó cũng sẽ bị xóa.
Ở đây, các collection Studentinfo và Studentname cũng bị xóa.

Bài tập

 

BÀI TẬP THỰC HÀNH

Sinh viên thực hiện các yêu cầu sau:

  1. Cài đặt MongoDB Database Tools và thiết lập biến môi trường (environment variable) cho MongoDB Database Tools.

  2. Nạp (import) bộ dữ liệu mẫu sample_training vào MongoDB Server.

  3. Tạo một database có tên Employee và một collection có tên Employee_detail.

  4. Chèn (insert) các document sau vào collection Employee_detail:

[
  {
    "Emp_name": "Oliver Smith",
    "Age": 23,
    "Designation": "Manager"
  },
  {
    "Emp_name": "David Michael",
    "Age": 32,
    "Designation": "Software Engineer"
  }
]
  1. Cập nhật (update) chức danh (Designation) của "Oliver Smith" thành "Accountant".

  2. Xóa (delete) document trong collection Employee_detail có tên nhân viên là "David Michael".

  3. Xóa collection Employee_detail.

  4. Xóa database Employee.

Bài viết liên quan:

Giới thiệu mongoDB
Hướng dẫn cài đặt MongoDB trên môi trường windows, linux, macOS
Giới thiệu tổng quan và các khái niệm cơ bản về MongoDB

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

Làm việc với cơ sở dữ liệu MongoDB

Giới thiệu chi tiết kiến trúc ASP.NET MVC và Core MVC

Khởi tạo dự án Hello World với ADO.NET và Entity Framework

Hướng dẫn tùy chỉnh phpmyadmin fix lỗi export Database 30MB Cyberpanel

Hướng dẫn triển khai GitHub Deploy Key qua SSH trên Linux Server

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×