Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. db.createCollection("Company2",{"validator":
  2. {$jsonschema:
  3. {"bsonType":"object",
  4. "properties":{"_id":{"bsonType":"string"},
  5. "Company":{"$bsonType":"object",
  6. "description":"Company data",
  7. "required":["cname","city","street","bldg","budget"],
  8. "properties":{"cname":{"bsonType":"string"},
  9. "city":{"bsonType":"string"},
  10. "street":{"bsonType":"string"},
  11. "bldg":{"bsonType":"int"},
  12. "minimum":1,
  13. "maximum":499,
  14. "budget":{"bsonType":"double"},
  15. "minimum":1,
  16. "Department":{"bsonType":"array",
  17. "depts":{"bsonType":"object",
  18. "required":["dname","floor","enumber"],
  19. "properties":{"dname":{"bsonType":"string"},
  20. "floor":{"bsonType":"int"},
  21. "Employee":{"bsonType":"array"},
  22. "emps":{"bsonType":"object",
  23. "required":["enumber","first_name","last_name","date_of_birth","salary"],
  24. "properties":{"enumber":{"bsonType":"int"},
  25. "first_name":{"bsonType":"string"},
  26. "last_name":{"bsonType":"string"},
  27. "date_of_birth":{"bsonType":"string"},
  28. "positon":{"bsonType":"string"},
  29. "salary":{"bsonType":"double"},
  30. "minimum":1,
  31. }
  32. }
  33. }
  34. }
  35. }
  36. }
  37. }
  38. }
  39. }}});
  40.  
  41. // passes validation
  42. db.Company2.insert({"_id":"Big Business",
  43. "Company":{"cname":"Big Business",
  44. "city":"Sydney",
  45. "street":"123 fake st",
  46. "bldg":NumberInt(200),
  47. "budget":"500"
  48. "Departments":[{"dname":"Sales",
  49. "floor":NumberInt(2),
  50. "Employees":[{"enumber":01,
  51. "first_name":"James",
  52. "last_name":"Smith",
  53. "date_of_birth":"20/01/1990",
  54. "Positon":"Manager",
  55. "salary":10000
  56. }]
  57. }]
  58. }
  59.  
  60. });
  61.  
  62. //fails
  63. db.Company2.insert({"_id":"Big Business",
  64. "Company":{"cname":"Big Business",
  65. "city":"Sydney",
  66. "street":"153 fake st",
  67. "bldg":NumberInt(600),
  68. "budget":"200"
  69. "Departments":[{"dname":"Marketing",
  70. "floor":NumberInt(2),
  71. "Employees":[{"enumber":02,
  72. "first_name":"Max",
  73. "last_name":"Payne",
  74. "date_of_birth":"25/03/1987",
  75. "Positon":"Manager",
  76. "salary":170000
  77. }]
  78. }]
  79. }
  80.  
  81. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement