在查询中使用所有运算符时是否可以指定范围?
示例:
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]:找不到
答案 0 :(得分: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 ] }