在 MongoDB 中执行简单的验证?
在 MongoDB 中进行验证,请使用验证器。以下是有关在 MongoDB 中对集合创建验证的查询 -
> db.createCollection( "demo437" , { ... validator: { $jsonSchema: { ... bsonType: "object", ... required: [ "FirstName", "LastName"], ... properties: { ... FirstName: { ... bsonType: "string", ... description: "This is required" }, ... LastName: { ... bsonType: "string", ... description: "This is required" } ... ... } ... }}}) { "ok" : 1 }
让我们创建一个包含文档的集合 -
> db.demo437.insertOne({"FirstName":"John","LastName":1234}); 2020-03-22T17:49:55.590+0530 E QUERY [js] WriteError: Document failed validation : WriteError({ "index" : 0, "code" : 121, "errmsg" : "Document failed validation", "op" : { "_id" : ObjectId("5e7757ebbbc41e36cc3cae9a"), "FirstName" : "John", "LastName" : 1234 } }) WriteError@src/mongo/shell/bulk_api.js:461:48 Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49 Bulk/executeBatch@src/mongo/shell/bulk_api.js:906:13 Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21 DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9 @(shell):1:1 > > db.demo437.insertOne({"FirstName":"John","LastName":"Smith"}); { "acknowledged" : true, "insertedId" : ObjectId("5e7757f7bbc41e36cc3cae9b") } > db.demo437.insertOne({"FirstName":9887,"LastName":"Miller"}); 2020-03-22T17:50:29.631+0530 E QUERY [js] WriteError: Document failed validation : WriteError({ "index" : 0, "code" : 121, "errmsg" : "Document failed validation", "op" : { "_id" : ObjectId("5e77580dbbc41e36cc3cae9c"), "FirstName" : 9887, "LastName" : "Miller" } }) WriteError@src/mongo/shell/bulk_api.js:461:48 Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49 Bulk/executeBatch@src/mongo/shell/bulk_api.js:906:13 Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21 DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9 @(shell):1:1 > > > db.demo437.insertOne({"FirstName":"David","LastName":"Miller"}); { "acknowledged" : true, "insertedId" : ObjectId("5e775816bbc41e36cc3cae9d") }
在使用 find() 方法的帮助下从集合中显示所有文档 -
> db.demo437.find();
这将产生以下输出 -
{ "_id" : ObjectId("5e7757f7bbc41e36cc3cae9b"), "FirstName" : "John", "LastName" : "Smith" } { "_id" : ObjectId("5e775816bbc41e36cc3cae9d"), "FirstName" : "David", "LastName" : "Miller" }
广告