-3

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

4

1 回答 1

3

您的问题有点令人困惑,因为在第一段中您要求 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

于 2012-09-10T15:40:34.723 回答