首页 > 解决方案 > 在 mongodb 中查找具有 id 数组的数据?

问题描述

我有一个来自另一个示例的数组列表,但这对我不起作用,可能是因为我需要使用ObjectId()' 但我不知道如何解析这个数组,我也不知道是否可能只得到一次参数(用户名)而不是完整的数组?

代码是这样的:

var list =      ["5883d387971bb840b7399130","5883d389971bb840b7399131","5883d38a971bb840b7399132"]
.find({ _id: {$in : list}},{username:1})

你能帮忙告诉我我需要如何创建查询吗?谢谢。

标签: mongodb

解决方案


您的查询是正确的,除非您需要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})

推荐阅读