修订号 2

$in

$in

Syntax: { field: { $in: [<value1>, <value2>, ... <valueN> ] } }

$in selects the documents where the field value equals any value in the specified array (e.g. <value1>, <value2>, etc.)

Consider the following example:

db.inventory.find( { qty: { $in: [ 5, 15 ] } } )

This query selects all documents in the inventory collection where the qty field value is either 5 or 15. Although you can express this query using the [$or](or.html#_S_or) operator, choose the $in operator rather than the [$or](or.html#_S_or) operator when performing equality checks on the same field.

If the field holds an array, then the $in operator selects the documents whose field holds an array that contains at least one element that matches a value in the specified array (e.g. <value1>, <value2>, etc.)

Consider the following example:

db.inventory.update( { tags: { $in: ["appliances", "school"] } }, { $set: { sale:true } } )

This [update()](db.collection.update.html#db.collection.update) operation will set the sale field value in the inventory collection where the tags field holds an array with at least one element matching an element in the array ["appliances", "school"].

也可以参考

[find()](db.collection.find.html#db.collection.find), [update()](db.collection.update.html#db.collection.update), [$or](or.html#_S_or), [$set](set.html#_S_set).