0

在查询中使用all运算符时是否可以指定范围?

例子:

如果favorites_ordered包含 [174, 225, 25, 165, 65, 87, 158],标准方式将是:

选择 174 和 158 在 favorites_ordered 字段中的位置。

db.inventory.find( { favorites_ordered: { $all: [ 174, 158 ] } } )

[ 174、225、25、165、65、87、158 ]:找到

我想做

选择 174 和 158 在 favorites_ordered 字段中的位置,并且在 3 个第一个值中。

[ 174、225、25、165、65、87、158 ]:未找到

4

1 回答 1

1

您可以在 mongo 中执行此操作:

> db.foo.insert({favorites_ordered: [174, 225, 25, 165, 65, 87, 158]})
> db.foo.insert({favorites_ordered: [158, 225, 25, 165, 65, 87, 174]})
> db.foo.insert({favorites_ordered: [100, 158, 225, 25, 165, 65, 87, 174]})

> db.foo.find({ 'favorites_ordered.0': { $in : [174, 158] } })
{ "_id" : ObjectId("51fa394f59a0a6afeec5b138"), "favorites_ordered" : [  174,  225,  25,  165,  65,  87,  158 ] }
{ "_id" : ObjectId("51fa3a2d59a0a6afeec5b139"), "favorites_ordered" : [  158,  225,  25,  165,  65,  87,  174 ] }
于 2013-08-01T10:37:20.933 回答