mongodb - 在 mongodb 中查找具有 id 数组的数据?
问题描述
我有一个来自另一个示例的数组列表,但这对我不起作用,可能是因为我需要使用ObjectId()
' 但我不知道如何解析这个数组,我也不知道是否可能只得到一次参数(用户名)而不是完整的数组?
代码是这样的:
var list = ["5883d387971bb840b7399130","5883d389971bb840b7399131","5883d38a971bb840b7399132"]
.find({ _id: {$in : list}},{username:1})
你能帮忙告诉我我需要如何创建查询吗?谢谢。
解决方案
您的查询是正确的,除非您需要ObjectId
使用 map 将您的 id 包装在里面。
var ObjectId = require('mongodb').ObjectID
var list = ["5883d387971bb840b7399130","5883d389971bb840b7399131","5883d38a971bb840b7399132"]
db.collectionName('newCollection').find({ _id: {$in : list.map( (id) => ObjectId(id))}}, {userName:1, _id:0})
推荐阅读
- graphql - 是否自动提供了 GraphQL 的参数?
- python - Python 3.8 中 unittest 的奇怪之处 - 未检测到测试
- php - 如何将类添加到 php echo 语句?
- opencart-3 - Opencart 3x 菜单版
- node.js - 在 Node 中使用 TypeScript 解析不同级别的键值/值嵌套 JSON
- javascript - 如何使用 moment.js 在 2 个不同时区中获取同一日期的 unix 时间戳?
- javascript - 将 ref 转发到 react.FC 给出类型错误:类型'IntrinsicAttributes & Props & { children :? 反应节点}
- python - 画布内的 tkinter 框架未扩展到填充区域
- matlab - matlab中误差函数(erf(x))的问题
- ruby - 在一个简单的示例/练习中获取 Ruby 语法错误