如何测试MongoDB条件对象中两个外部值是否相等?

要测试这些值,请使用$type。让我们创建一个包含文档的集合-

> db.demo211.insertOne({id:101,"Name":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3e298203d395bdc21346fa")
}
> db.demo211.insertOne({id:102,"Name":null});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3e2a5403d395bdc21346fb")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo211.find();

这将产生以下输出-

{ "_id" : ObjectId("5e3e298203d395bdc21346fa"), "id" : 101, "Name" : "Chris" }
{ "_id" : ObjectId("5e3e2a5403d395bdc21346fb"), "id" : 102, "Name" : null }

以下是测试MongoDB条件对象中两个外部值是否相等的查询-

> v1=200;
200
> v2=200;
200
> db.demo211.find({Name : 'Chris', Name : { $type : 1 + (v1 === v2) }});

这将产生以下输出-

{ "_id" : ObjectId("5e3e298203d395bdc21346fa"), "id" : 101, "Name" : "Chris" }