【问题标题】:Testing to see if a inputted value is present in an array Mongodb测试以查看输入的值是否存在于数组 Mongodb 中
【发布时间】:2020-06-06 15:32:01
【问题描述】:

所以我有一个具有这种格式的小型测试集合...

Sample Data

我创建了一个简单的查询,它返回一个包含所有 id 的数组..

All_Ids = db.Test_Collection.find({}, {_id:1}).map(function(item){ return item._id; })
[ 98800754, 15301328, 76812898 ]

我想接受输入的 id 并检查输入的值是否存在于数组中..

这是我最初的尝试..

> query_Figure = 98800754
98800754
> db.Test_Collection.find({query_Figure: {$in: All_Ids}})

我尝试使用 $in 运算符查找特定值.. 将数组和特定 id 作为变量进行搜索,但没有运气,因为查询没有返回任何内容,当我搜索的值明显在数组中时

如您所知,我是一个新手,希望能在改进查询方面提供一些帮助!

【问题讨论】:

    标签: arrays mongodb mongodb-query


    【解决方案1】:

    $in 运算符返回数组中存在指定字段值的文档。

    在您的情况下,由于 query_Figure 不是您的任何文档中的字段,因此您的查询不会返回匹配的文档。

    如果您只想检查输入 id 是否存在于 All_Ids 数组中,则不需要查询。只需使用Array.prototype.includes()

    const exists = All_Ids.includes(query_Figure);
    

    【讨论】:

      猜你喜欢
      • 2016-10-22
      • 2013-11-10
      • 1970-01-01
      • 2016-09-09
      • 2022-01-09
      • 1970-01-01
      • 2013-07-16
      • 2015-01-18
      相关资源
      最近更新 更多