arrays - 测试以查看输入的值是否存在于数组 Mongodb 中
问题描述
所以我有一个具有这种格式的小型测试集合......
我创建了一个简单的查询,它返回一个包含所有 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 作为变量进行搜索,但没有运气,因为查询没有返回任何内容,当我搜索的值明显在数组中时
如您所知,我是新手,希望能在改进查询方面提供一些帮助!
解决方案
$in
运算符返回数组中存在指定字段值的文档。
在您的情况下,由于query_Figure
不是任何文档中的字段,因此您的查询不会返回匹配的文档。
如果您只想检查输入 id 是否存在于All_Ids
数组中,那么您不需要查询。只需使用Array.prototype.includes()
const exists = All_Ids.includes(query_Figure);
推荐阅读
- java - 为什么 URI 构造函数在其 URI 参数中允许非百分比编码的保留特殊字符(正斜杠)?
- python - 适用于 Linux 的 Windows 子系统 - conda:找不到命令
- python - 使用 OpenCv 读取图像时,Python 在控制台上崩溃
- python - 除以零的 for 循环的简短版本
- javascript - 来自 NodeJS 中查询 SELECT Mongoose 的 JSON 解析错误
- react-native - 第一个控制台显示给我,最后一个没有。知道为什么吗?
- javascript - Javascript为什么我没有得到名字已经存在的错误
- flask - 烧瓶应用程序正在 docker 上运行,但浏览器显示该网站无法访问
- python - 如何使用openpyxl计算excel数据
- string - Matlab - 通过将鼠标悬停在字符串上来显示列表框中长字符串的后沿