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