【问题标题】:MongoDB javascript query; filter for value in in a column arrayMongoDB javascript 查询;过滤列数组中的值
【发布时间】:2019-04-05 14:06:52
【问题描述】:

使用 vanilla javascript,我使用 Mongo 的 dpd.js 来查询数据库。

在这个 sn-p 中,我尝试在集合 techniques 中的列 roleConsiderations 中查找 "design" 的所有匹配项。

roleConsiderations 中的值在数组中 - ["development", "design", "content"] 并且我所有不同的查询 "design" 的尝试都失败了。

dpd.js 查询结果为空响应:

var query = {"roleConsiderations": "design"};
dpd.techniques.get(query, function (result) {
    console.log(result);
});

尝试通过 url 查询只会返回完全匹配(其中"design" 是数组中的唯一值)。

http://my.mongo.db/techniques?roleConsiderations=["design"]

那么如何查询一个mongodb列过滤数组中的值呢?

【问题讨论】:

    标签: javascript mongodb


    【解决方案1】:

    您可以使用 $in 运算符来指定您希望返回的对象包含在指定字段中的元素。

    const query = { roleConsiderations: { $in: [ 'design' ] } };
    

    我知道语法很糟糕,但它应该可以工作。

    更多阅读请参考this

    【讨论】:

    • 修改了最后一条评论。这非常有效。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 2018-08-08
    • 1970-01-01
    相关资源
    最近更新 更多