Collection:

docs:
  _id
  name

Code:

names = Docs.findOne(id).name for id in doc_ids

But I would like the findOne queries to be sent off in parallel.

有帮助吗?

解决方案

A possibly easier alternative is to use $in and do the parallel query on the database itself. Here's an example in CoffeeScript:

ids = ['abc123', 'def456', 'hij789']
names = (doc.name for doc in Docs.find({_id: $in: ids}, {fields: name: 1}).fetch())

其他提示

You can restrict your query to a certain subsets of fields, e.g.

names = _.pluck(Docs.find({_id:{$in:doc_ids}}, {
  fields: {name:1}
}).fetch(), 'name');
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top