У меня есть следующая структура документа в коллекции mongodb «Контакт». Существует массив вложенных документов, называемых «числами»:
{
"name" : "Bill",
"numbers" : [
{
"type" : "home",
"number" : "01234",
},
{
"type" : "business",
"number" : "99099"
},
{
"type" : "fax",
"number" : "77777"
}
]
}
Когда я хочу запросить только «домашний» и «рабочий» номера, я могу сделать что-то вроде этого в mongodb-shell:
db.Contact.find({ numbers: { $elemMatch: {
type : { $in : ["home", "business"]},
number: { $regex : "^012" }
}}});
Но как это сделать в морфии? Там в любом случае?
Я понимаю, что "$elemMatch" поддерживается в morphia. Итак, я мог бы сделать что-то вроде:
query.filter("numbers elem", ???);
Но как именно добавить комбинированный запрос для вложенного документа?