所有查询运算符的范围?

时间:2013-08-01 09:30:10

标签: mongodb

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

示例:

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]:找不到

1 个答案:

答案 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 ] }