I have an array of ids and I want to retrieve all of them at once. Is this possible, can I pass an array of ids somehow and have all of them returned to me? If so, how?
I'm using the node-native driver.
Thanks!
I have an array of ids and I want to retrieve all of them at once. Is this possible, can I pass an array of ids somehow and have all of them returned to me? If so, how?
I'm using the node-native driver.
Thanks!
Share Improve this question asked Apr 20, 2012 at 12:24 fancyfancy 51.4k64 gold badges156 silver badges230 bronze badges2 Answers
Reset to default 17you need to use $in
operator, that would give you desired result.
https://docs.mongodb.com/manual/reference/operator/query/in/
Using the $in operator you can do something similar to:
const ids = ["123", "456","789"]
const items = await db
.collection("items")
.find({ "_id": { "$in": ids.map(id => new ObjectId(id)) } })
.toArray()