【问题标题】:How to find all documents containing a certain value with MongoDB如何使用 MongoDB 查找包含某个值的所有文档
【发布时间】:2012-09-11 03:33:56
【问题描述】:

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

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

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

    【讨论】:

    • 如果 Philipp 的回复没有回答您的问题,那么您仍然不清楚您要完成什么。能发个代码sn-p吗?
    • 另外,您的文档示例,以及您查询的预期结果,将帮助我们找到解决方案。
    猜你喜欢
    • 2022-01-17
    • 2017-09-21
    • 1970-01-01
    • 2023-03-21
    • 2018-12-30
    • 2021-10-19
    • 2015-08-29
    • 2020-09-04
    • 2017-07-08
    相关资源
    最近更新 更多