У меня есть коллекция Монго, которая имеет документы, которые выглядят, как показано ниже:Морфий - Запрос на основе поддокументе
{
"_id" : ObjectId("9873214jkhdkfjdsf8324"),
"nm" : "test",
"sts" : 1,
"updby" : NumberLong(0),
"tags" : [
{
"name" : "women",
"rank" : 1,
"type" : 3
},
{
"name" : "men",
"rank" : 1
},
{
"name" : "clothing",
"rank" : 2,
"type" : 1
}
]
}
Я хочу, чтобы запросить коллекцию таким образом, что я хочу, чтобы все документы, которые имеют «name»: «women» и «type»: 3 внутри подкаталога тэгов каждого документа, который возвращается.
Я знаю, что запрос Монго должен быть что-то вроде этого:
db.collection.find("tags":{
$all:[
{"$elemMatch":{"name":"women","type":3}},
]})
Я попытался с помощью «» hasthiselement предоставленного морфия, но я не в состоянии сформировать точный запрос, который я хочу.
getMongoDAORead().getDatastore().createQuery(test.class)
.field("tags").hasThisElement("name").equal("women");
Этот запрос не является правильным. Может ли кто-нибудь помочь мне сформировать правильный запрос?