提问者:小点点

如何从Mongo ObjectIDs数组中获取多个项


我有一个很长的MongoDB对象数组,但只有键。

var list=['5edca3a1952997473c5beadd',....50 more]

我需要在数据库中搜索这些,但只有在追加ObjectId(key)时才有可能,而我无法这样做。 有没有任何方法,通过我可以在数据库中搜索而不修改关键字。

数组大小可以达到1000s,所以不能手动执行。


共1个答案

匿名用户

我假设您希望通过ID进行搜索,但不能这样做,因为它们还不是ObjectID。 您将需要逐个映射它们并返回objectId。 如果使用node.js:

const { ObjectId } = require('mongodb');
const list = ['5edca3a1952997473c5beadd']; // The array with all the ids
const ids = list.map(id => new ObjectId(id))

// db.your_collection_name.find({ _id: { $in: ids } }); // Mongo query.

虽然我不确定这是不是你的意思,但这个问题令人困惑。