MongoDB _id so với _id

MongoDB là cơ sở dữ liệu NoSQL hướng tài liệu được sử dụng để lưu trữ dữ liệu khối lượng lớn. Thay vì sử dụng các bảng và hàng như trong cơ sở dữ liệu quan hệ truyền thống, MongoDB sử dụng các tập hợp và tài liệu

Bạn có thể đọc thêm về MongoDB tại đây

Tài liệu và bộ sưu tập là gì?

  • thu thập. Một bộ sưu tập là một nhóm các tài liệu MongoDB và tương tự như một bảng trong Cơ sở dữ liệu SQL(RDBMS). Một bộ sưu tập tồn tại trong một cơ sở dữ liệu duy nhất. Bộ sưu tập không thực thi lược đồ (cấu trúc). Tài liệu trong một bộ sưu tập có thể có các trường khác nhau. Thông thường, tất cả các tài liệu trong một bộ sưu tập có mục đích tương tự hoặc liên quan.  
  • Các tài liệu. Tài liệu là một tập hợp các cặp khóa-giá trị. Tài liệu có lược đồ động (cấu trúc). Lược đồ động có nghĩa là các tài liệu trong cùng một bộ sưu tập không cần phải có cùng một bộ trường hoặc cấu trúc và các trường chung trong tài liệu của một bộ sưu tập có thể chứa các loại dữ liệu khác nhau

Để biết thêm về phát triển web, hãy xem khóa học Phát triển ngăn xếp đầy đủ là gì.    

Một ví dụ về tài liệu MongoDB được hiển thị bên dưới

{
   _id: ObjectId(7df78ad8902ce46d)
   title: 'Awesome Post',   
   description: 'This is an awesome post',
   tags: ['tours', 'photography'],
   likes: 100,  
   comments: [
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2011,1,20,2,15),
         like: 0  
      },
      {
         user:'user2',
         message: 'My second comments',
         dateCreated: new Date(2011,1,25,7,45),
         like: 5
      }
   ]
}

_id là một số thập lục phân 12 byte đảm bảo tính duy nhất của mọi tài liệu. Nó được gọi là ObjectId

Trong blog này, chúng ta sẽ tìm hiểu về MongoDB, ObjectId và cách tạo thủ công

Tại sao nên sử dụng MongoDB?

  • Đó là định hướng tài liệu. Mô hình dữ liệu tài liệu là một cách mạnh mẽ để lưu trữ và truy xuất dữ liệu cho phép các nhà phát triển di chuyển nhanh
  • Hiệu suất cao. Kiến trúc mở rộng theo chiều ngang của MongoDB có thể hỗ trợ khối lượng lớn dữ liệu và lưu lượng truy cập

Biểu diễn dữ liệu trong JSON hoặc BSON. Một ví dụ về đối tượng JSON được đưa ra dưới đây

{
  "name" :  "Carlos Smith",
  "title" : "Product Manager",
  "location" : "New York, NY",
  "twitter" : "@MongoDB",
  "facebook" : "@MongoDB"
}

Bạn có thể đọc thêm về các trường hợp sử dụng của MongoDB tại đây

Sự khác biệt giữa MySQL và MongoDB là gì?

Sự khác biệt chính và quan trọng giữa MySQL và MongoDB được liệt kê ở đây

MongoDB là một cơ sở dữ liệu mã nguồn mở được phát triển bởi MongoDB, Inc. MongoDB lưu trữ dữ liệu trong các tài liệu giống như JSON có thể khác nhau về cấu trúc. Nó là một cơ sở dữ liệu NoSQL phổ biến

MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở phổ biến (RDBMS) được phát triển, phân phối và hỗ trợ bởi Tập đoàn Oracle. MySQL sử dụng các bảng để lưu trữ dữ liệu. Bạn có thể đọc thêm về sự khác biệt ở đây

Làm cách nào để cài đặt MongoDB cục bộ?

Chúng ta hãy tiến hành cài đặt riêng cho hệ điều hành Windows và Linux

  • các cửa sổ. Điều hướng đến liên kết được đề cập bên dưới và nhấp vào nút tải xuống để tải xuống tệp zip, như bạn có thể thấy trong hình ảnh

Liên kết để tải xuống MongoDB

What Is Objectid in Mongodb and How to Generate It Manually

Bạn có thể giải nén và chạy file để cài đặt MongoDB cho Windows

  • Linux. Bạn chỉ cần chạy lệnh bên dưới bên trong thiết bị đầu cuối để cài đặt MongoDB
  • Chỉ huy. sudo apt-get cài đặt mongodbWhat Is Objectid in Mongodb and How to Generate It Manually

Bây giờ, hãy chạy lệnh dưới đây bên trong dấu nhắc lệnh, powershell hoặc terminal để khởi động trình bao MongoDB nơi chúng ta có thể tạo ID đối tượng cho blog này.  

What Is Objectid in Mongodb and How to Generate It Manually

Điều quan trọng cần biết là MongoDB sử dụng định dạng BSON để lưu trữ dữ liệu

Sự khác biệt giữa JSON và BSON

Như chúng ta đã thấy JSON trông như thế nào, bây giờ hãy xem BSON và hiểu sự khác biệt giữa JSON và BSON

BSON là viết tắt của JSON nhị phân (một siêu bộ JSON với một số loại dữ liệu hơn, quan trọng nhất là mảng byte nhị phân)

Bạn có thể đọc thêm về sự khác biệt ở đây

ObjectId trong MongoDB là gì?

  • Như bạn thấy, trong ví dụ về tài liệu MongoDB, trường _id được gọi là ID đối tượng. MongoDB sử dụng ObjectIds làm giá trị mặc định của trường _id của mỗi tài liệu, được tạo trong quá trình tạo bất kỳ tài liệu nào
  • ID đối tượng được coi là khóa chính trong mọi bộ sưu tập MongoDB. Nó là một mã định danh duy nhất cho mỗi tài liệu hoặc hồ sơ.  
  • cú pháp. ID đối tượng()
  • ObjectId là một chuỗi thập lục phân loại BSON 12 byte có cấu trúc như trong ví dụ bên dưới.
    Ví dụ. ObjectId("6009c0eee65f6dce28fb3e50") 
  • 4 byte đầu tiên là giá trị dấu thời gian, biểu thị quá trình tạo ObjectId, được tính bằng giây kể từ kỷ nguyên Unix
  • 5 byte tiếp theo đại diện cho một giá trị ngẫu nhiên

Ghi chú. ID đối tượng là một mã định danh duy nhất cho mỗi bản ghi được tạo bằng cách khai báo ObjectId như một phương thức, như bây giờ bạn sẽ thấy. Đừng nhầm lẫn giữa ID đối tượng và ObjectId

Tạo một ObjectId mới

Để tạo ID đối tượng mới theo cách thủ công trong MongoDB, bạn có thể khai báo ObjectId như một phương thức. Trong hình ảnh bên dưới, bạn có thể quan sát thấy rằng chúng ta đang khai báo một biến có phương thức ObjectId làm giá trị. Nó sẽ trả về một hệ thập lục phân duy nhất mà chúng ta có thể lưu trữ trong một biến có tên myObjectId

Bạn không chắc làm thế nào để bắt đầu sự nghiệp của mình với tư cách là một nhà thiết kế web? .    

  • Chỉ huy. myObjectId = ObjectId()
What Is Objectid in Mongodb and How to Generate It Manually

Trong ví dụ này, giá trị của ObjectId("507f191e810c19729de860ea"). phương thức str trả về chuỗi thập lục phân bên trong phương thức ObjectId

MongoDB _id là gì?

Trường _id là trường được điền dưới dạng ObjectId hoặc một giá trị duy nhất mà chúng tôi, với tư cách là quản trị viên cơ sở dữ liệu, gán cho từng tài liệu trong bộ sưu tập.

Tôi có nên sử dụng MongoDB _id không?

Trường _id MongoDB là nền tảng cho mọi bộ sưu tập trong MongoDB và theo mặc định, trường này có một số thuộc tính hữu ích mà người dùng có thể tận dụng khi quen với cách tạo _id.

Chúng tôi có thể thay đổi _id trong MongoDB không?

Nếu vậy, câu trả lời là có, bạn có thể đặt thuộc tính _id thành một giá trị thuộc bất kỳ loại nào ngoại trừ mảng , theo https. // tài liệu. mongodb. com/thủ công/lõi/tài liệu/.

_id của loại ObjectId là gì?

Trường “_id” có thể được sử dụng ở bất kỳ định dạng nào và định dạng mặc định là ObjectId của tài liệu. ObjectID là Trường loại BSON 12 byte . 4 byte đầu tiên biểu thị Dấu thời gian Unix của tài liệu . 3 byte tiếp theo là Id máy mà máy chủ MongoDB đang chạy trên đó .