MongoDB 模式验证

模式验证

默认情况下,MongoDB 有一个灵活的模式。这意味着最初没有设置严格的模式验证。

可以创建模式验证规则,以确保集合中的所有文档共享相似的结构。


模式验证

MongoDB 支持 JSON Schema 验证。$jsonSchema 运算符让我们可以定义文档结构。

实例
  1. db.createCollection("posts", {
  2. validator: {
  3. $jsonSchema: {
  4. bsonType: "object",
  5. required: [ "title", "body" ],
  6. properties: {
  7. title: {
  8. bsonType: "string",
  9. description: "Title of post - Required."
  10. },
  11. body: {
  12. bsonType: "string",
  13. description: "Body of post - Required."
  14. },
  15. category: {
  16. bsonType: "string",
  17. description: "Category of post - Optional."
  18. },
  19. likes: {
  20. bsonType: "int",
  21. description: "Post like count. Must be an integer - Optional."
  22. },
  23. tags: {
  24. bsonType: ["string"],
  25. description: "Must be an array of strings - Optional."
  26. },
  27. date: {
  28. bsonType: "date",
  29. description: "Must be a date - Optional."
  30. }
  31. }
  32. }
  33. }
  34. })

这将在当前数据库中创建 posts 集合,并指定该集合的 JSON 模式验证要求。