Pregunta

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.

¿Fue útil?

Solución

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())

Otros consejos

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');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top