如何在 MongoDB 中比较多个属性?

mongodbdatabasebig data analytics更新于 2026/1/16 12:37:17

要比较多个属性,请使用 $where 运算符。首先,我们创建一个包含文档的集合 −

> dbcomparingMultiplePropertiesDemoinsertOne({"Values":[10,70,60]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cf228fcb64a577be5a2bc0a")
}

以下查询借助 find() 方法 − 显示集合中的所有文档

> dbcomparingMultiplePropertiesDemofind()pretty();

这将生成以下文档 −

{
   "_id" : ObjectId("5cf228fcb64a577be5a2bc0a"),
   "Values" : [
      10,
      70,
      60
   ]
}

情况 1:如果条件成立,则返回一个数组,否则不显示任何内容。以下是在 MongoDB 中比较多个属性的查询。

> dbcomparingMultiplePropertiesDemofind({ $where : "thisValues[1] > thisValues[2]" });

由于 70 > 60 −,这将生成以下文档。

{ "_id" : ObjectId("5cf228fcb64a577be5a2bc0a"), "Values" : [ 10, 70, 60 ] }

情况 2:如果条件为假,则不会显示任何内容。以下是在 MongoDB 中比较多个属性的查询 −

> dbcomparingMultiplePropertiesDemofind({ $where : "thisValues[1] < thisValues[2]" });

如果条件为假,则数据不会显示,因为 70 < 60 为假。


相关文章