0
您能否给我举一个例子,说明如何在我的两个elemMatch
物件上使用$all
运营商?
val elemMatch1 = foo()
val elemMatch2 = bar()
我怎么能执行$all(elemMatch1, elemMatch2)
查询(所有文件,其中elemMatch1和elemMatch2)?
您能否给我举一个例子,说明如何在我的两个elemMatch
物件上使用$all
运营商?
val elemMatch1 = foo()
val elemMatch2 = bar()
我怎么能执行$all(elemMatch1, elemMatch2)
查询(所有文件,其中elemMatch1和elemMatch2)?
我不知道它让多少意义的混合$all
和$elemMatch
但是从文档$all
如下:
{ <field>: { $all: [ <value> , <value1> ... ] }
$ elemMatch如下:
{ array: { $elemMatch: <document> } }
不幸的是,卡斯巴DSL韩元因为$all
需要一个列表,并且$elemMatch
需要一个字符串,所以您必须手动创建文档:
import com.mongodb.casbah.Imports._
val coll = MongoClient()("test")("testB")
coll += MongoDBObject("array" -> List(
MongoDBObject("value1" -> 1, "value2" -> 0),
MongoDBObject("value1" -> 1, "value2" -> 2)
))
val elemMatch = MongoDBObject("$elemMatch" -> MongoDBObject("value1" -> 1, "value2" -> 2))
val query = "array" $all List(elemMatch)
coll.find(query).count