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