Hướng dẫn where is schema in mongodb? - giản đồ ở đâu trong mongodb?

DOCS Home → Dịch vụ ứng dụng AtlasAtlas App Services

Lược đồ là một đối tượng JSON xác định cấu trúc và nội dung của dữ liệu của bạn. Bạn có thể sử dụng các lược đồ BSON của Atlas App Services, mở rộng tiêu chuẩn lược đồ JSON, để xác định mô hình dữ liệu của ứng dụng của bạn và xác nhận các tài liệu bất cứ khi nào chúng được tạo, thay đổi hoặc xóa.JSON Schema standard, to define your application's data model and validate documents whenever they're created, changed, or deleted.

Các lược đồ đại diện cho các loại dữ liệu hơn là các giá trị cụ thể. Dịch vụ ứng dụng hỗ trợ nhiều loại lược đồ tích hợp. Chúng bao gồm các nguyên thủy, như chuỗi và số, cũng như các loại cấu trúc, như các đối tượng và mảng, mà bạn có thể kết hợp để tạo các lược đồ đại diện cho các loại đối tượng tùy chỉnh.

Ví dụ, đây là một lược đồ cơ bản cho dữ liệu về xe hơi và một số đối tượng xe phù hợp với lược đồ:

Các lược đồ là đặc điểm kỹ thuật cho mô hình dữ liệu của ứng dụng của bạn. Khi bạn đã xác định một lược đồ, các dịch vụ ứng dụng cung cấp cho bạn các công cụ và dịch vụ bổ sung để làm việc với dữ liệu phù hợp với lược đồ.

Dịch vụ ứng dụng sử dụng các lược đồ trong nhiều dịch vụ ứng dụng:

  • Đồng bộ hóa thiết bị Atlas sử dụng các lược đồ để đồng bộ hóa dữ liệu giữa các cõi và MongoDB Atlas. Các dịch vụ ứng dụng cũng có thể tạo các mô hình đối tượng SDK thành ngữ cho bạn dựa trên các lược đồ của bạn.

  • API GraphQL sử dụng các lược đồ để tự động tạo lược đồ GraphQL bao gồm các loại, truy vấn và đột biến. Bạn có thể mở rộng API của ứng dụng của mình với trình giải quyết tùy chỉnh tham chiếu các loại được xác định bởi các lược đồ của bạn.

  • Quy tắc truy cập dữ liệu xác nhận dữ liệu phù hợp với lược đồ của bạn trước và sau mỗi yêu cầu. Nếu bất kỳ tài liệu nào không xác thực, các dịch vụ ứng dụng sẽ ngăn chặn hoặc quay lại toàn bộ yêu cầu.

Lược đồ thu thập cấp độ gốc có thể chứa các lược đồ bổ sung mô tả các thuộc tính của loại. Mỗi lược đồ cấp độ gốc là một lược đồ object có dạng sau:

{
"bsonType": "object",
"title": "<Type Name>",
"required": ["<Required Field Name>", ...],
"properties": {
"<Field Name>": <Schema>
}
}

Bạn có thể sử dụng bất kỳ loại lược đồ được hỗ trợ nào để định cấu hình các thuộc tính của đối tượng:

  • Sự vật

  • Mảng

  • Sợi dây

  • Con số

  • Boolean

  • Uuid

  • ID đối tượng

  • Dữ liệu nhị phân

  • Trộn

  • Bộ

  • Từ điển

Ghi chú

Dịch vụ ứng dụng xác nhận tất cả các hoạt động ghi (chèn, cập nhật và xóa) trên bộ sưu tập MongoDB so với lược đồ thu thập của nó. Nó kiểm tra mọi tài liệu trước và sau mỗi yêu cầu để đảm bảo rằng tất cả các thuộc tính phù hợp với lược đồ và không có thay đổi không hợp lệ nào xảy ra.

Dịch vụ ứng dụng đánh giá kết quả của tất cả các tài liệu ghi và so sánh chúng với lược đồ trước khi cam kết ghi vào cụm của bạn. Nếu kết quả của bất kỳ hoạt động ghi nào trong một yêu cầu không khớp với lược đồ, các dịch vụ ứng dụng sẽ trả về lỗi cho người dùng mà không áp dụng bất kỳ thay đổi nào trong yêu cầu.

Thí dụ

Một bộ sưu tập có lược đồ sau:

{
"title": "person",
"properties": {
"_id": { "bsonType": "objectId" },
"name": { "bsonType": "string" }
}
}

Người dùng có quyền đọc và viết tất cả các trường muốn cập nhật trường name của một tài liệu cụ thể. Họ phát hành truy vấn sau:

collection.updateOne(
{ "_id": BSON.ObjectId("5ae782e48f25b9dc5c51c4d0") },
{ "$set": { "name": 42 } }
)

Truy vấn cố gắng đặt giá trị của name thành số 42, nhưng lược đồ yêu cầu giá trị là string. Các dịch vụ ứng dụng sẽ từ chối hoạt động ghi này mặc dù người dùng có quyền cập nhật tài liệu vì kết quả ghi không phù hợp với lược đồ.

Tôi có thể tìm tên lược đồ ở đâu trong MongoDB?

Chúng ta có thể nhận được đối tượng lược đồ/tài liệu đầu tiên của bộ sưu tập bằng cách sử dụng: var lược đồ = db.users.findone ();var schemaObj = db. users. findOne();

Có lược đồ trong MongoDB?

Dữ liệu trong MongoDB có một lược đồ linh hoạt.Bộ sưu tập không thực thi cấu trúc tài liệu theo mặc định.Tính linh hoạt này cung cấp cho bạn các lựa chọn mô hình dữ liệu để phù hợp với ứng dụng của bạn và các yêu cầu về hiệu suất của nó.. Collections do not enforce document structure by default. This flexibility gives you data-modeling choices to match your application and its performance requirements.

Lược đồ trong MongoDB là gì?

Lược đồ là một đối tượng JSON xác định cấu trúc và nội dung của dữ liệu của bạn.Bạn có thể sử dụng các lược đồ BSON của Atlas App Services, mở rộng tiêu chuẩn lược đồ JSON, để xác định mô hình dữ liệu của ứng dụng của bạn và xác nhận các tài liệu bất cứ khi nào chúng được tạo, thay đổi hoặc xóa.a JSON object that defines the the structure and contents of your data. You can use Atlas App Services' BSON schemas, which extend the JSON Schema standard, to define your application's data model and validate documents whenever they're created, changed, or deleted.

Làm cách nào để tạo một lược đồ trong MongoDB?

Như chúng ta đã biết MongoDB là không có lược đồ, tại thời điểm tạo bất kỳ đối tượng nào, chúng ta không thể tạo bất kỳ lược đồ nào trong MongoDB.Chúng ta có thể thực thi lược đồ để thu thập trong MongoDB bằng cách sử dụng cụm Atlas MongoDB, để thực thi lược đồ tài liệu mà chúng ta cần trước tiên để kết nối cơ sở dữ liệu và bộ sưu tập.at the time of creating any objects we cannot create any schema in MongoDB. We can enforce the schema for collection in MongoDB by using the MongoDB atlas cluster, for enforcing the document schema we need first to connect the database and collection.