要检查是否相等并获取文档,请在MongoDB中使用$where。让我们创建一个包含文档的集合-
> db.demo589.insertOne({deliveryAddress:"US",billingAddress:"UK"});{ "acknowledged" : true, "insertedId" : ObjectId("5e92c117fd2d90c177b5bccc") } > db.demo589.insertOne({deliveryAddress:"US",billingAddress:"US"});{ "acknowledged" : true, "insertedId" : ObjectId("5e92c11bfd2d90c177b5bccd") } > db.demo589.insertOne({deliveryAddress:"US",billingAddress:"AUS"});{ "acknowledged" : true, "insertedId" : ObjectId("5e92c11ffd2d90c177b5bcce") } > db.demo589.insertOne({deliveryAddress:"UK",billingAddress:"US"});{ "acknowledged" : true, "insertedId" : ObjectId("5e92c127fd2d90c177b5bccf") }
在find()方法的帮助下显示集合中的所有文档-
> db.demo589.find();
这将产生以下输出-
{ "_id" : ObjectId("5e92c117fd2d90c177b5bccc"), "deliveryAddress" : "US", "billingAddress" : "UK" } { "_id" : ObjectId("5e92c11bfd2d90c177b5bccd"), "deliveryAddress" : "US", "billingAddress" : "US" } { "_id" : ObjectId("5e92c11ffd2d90c177b5bcce"), "deliveryAddress" : "US", "billingAddress" : "AUS" } { "_id" : ObjectId("5e92c127fd2d90c177b5bccf"), "deliveryAddress" : "UK", "billingAddress" : "US" }
这是查询以检查“帐单地址等于交付地址”并获取文档-
> db.demo589.find( { $where: "this.deliveryAddress == this.billingAddress" } );
这将产生以下输出-
{ "_id" : ObjectId("5e92c11bfd2d90c177b5bccd"), "deliveryAddress" : "US", "billingAddress" : "US" }