如何在 MongoDB 中对两个字段执行操作时进行比较?
mongodbdatabasebig data analytics更新于 2026/2/13 16:22:17
要比较两个字段,请在 MongoDB 中使用 $where。首先,我们创建一个包含文档的集合。−
> db.demo7.insertOne({"FirstName1":"JOHN","FirstName2":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e0ccd1a25ddae1f53b6222f")
}
> db.demo7.insertOne({"FirstName1":"Carol","FirstName2":"Mike"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e0ccd2725ddae1f53b62230")
}
> db.demo7.insertOne({"FirstName1":"bob","FirstName2":"BOB"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e0ccd3225ddae1f53b62231")
}
以下是使用 find() 方法显示集合中的所有文档的查询 −
> db.demo7.find();
这将产生以下输出 −
{ "_id" : ObjectId("5e0ccd1a25ddae1f53b6222f"), "FirstName1" : "JOHN", "FirstName2" : "John" }
{ "_id" : ObjectId("5e0ccd2725ddae1f53b62230"), "FirstName1" : "Carol", "FirstName2" : "Mike" }
{ "_id" : ObjectId("5e0ccd3225ddae1f53b62231"), "FirstName1" : "bob", "FirstName2" : "BOB" }
以下查询用于比较两个字段,并对其中一个字段执行操作 −
> db.demo7.find({$where: "this.FirstName1.toLowerCase() == this.FirstName2.toLowerCase()"});
这将产生以下输出 −
{ "_id" : ObjectId("5e0ccd1a25ddae1f53b6222f"), "FirstName1" : "JOHN", "FirstName2" : "John" }
{ "_id" : ObjectId("5e0ccd3225ddae1f53b62231"), "FirstName1" : "bob", "FirstName2" : "BOB" }

