如何使用MongoDB查找包含特定值的所有文档

时间:2012-09-10 14:49:18

标签: node.js mongodb

我正在使用nodejs和mongodb。 x是包含字符串(特定颜色)的变量。现在,我想创建一个查询(在nodejs中),检索所有文档的颜色字段(这是一个字符串列表,在本例中是一个颜色列表)包含字符串x。 我应该如何在nodejs中编写它?

1 个答案:

答案 0 :(得分:2)

您的问题有点令人困惑,因为在第一段中您要求OR关系,但您的示例描述了AND关系。

如果要查找所有红色或绿色的文档,则必须使用$ in运算符:

db.collection.find({ colors: { $in:[ "red", "green" ]} });

当你想要找到所有红色和绿色(也可能是其他)的文件时,你必须使用$ all:

db.collection.find({ colors: { $all:[ "red", "green" ]} });

来源:http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries