Я создал коллекцию «params» в Mongo со следующей структурой:
{
"_id" : "id1",
"list" : [
{
"type" : "type1",
"subtypes" : [ "id1 subtype11", "id1 subtype12" ]
}
{
"type" : "type2",
"subtypes" : [ "id1 subtype21", "id1 subtype22" ]
}
]
}
{
"_id" : "id2",
"list" : [
{
"type" : "type1",
"subtypes" : [ "id2 subtype11", "id2 subtype12" ]
}
{
"type" : "type2",
"subtypes" : [ "id2 subtype21", "id2 subtype22" ]
}
]
}
Я хочу получить все "subtypes"
для "_id":"id1"
и "type":"type1"
. Я узнал, что способ сделать это в оболочке Mongo
db.params.find (
{ $and: [
{"_id" : "id1"},
{"list.type" : "type1"}
] }
)
У меня есть два вопроса:
- Правильно ли я использую $and (читай: «я создаю запрос»)?
- Как правильно разобрать этот запрос на PHP-код? Я теряюсь в синтаксисе :(.
Благодарю вас!
"type":"type1"
в массиве"list"
? Кроме того, я понял, что я должен сначала получить полную запись для `_id:id1, прежде чем делать что-либо еще в моем PHP-коде, поэтому весь процесс должен стать проще. Спасибо! - person jfabian   schedule 13.06.2013type
, поэтому, если я хочу найти"_id":"id1"
, я получаю["type1", "type2"]
? Возможно ли это сделать (я предполагаю, что необходима структура агрегации)? Спасибо! - person jfabian   schedule 13.06.2013