У меня есть коллекция под названием users
. Каждый пользовательский документ имеет встроенный документ, называемый номерами телефонов.MongoDB - получить список встроенных элементов
}
"_id": ObjectId("4f2984b1af06e80418000000"),
"User_FirstName": "Frank",
"User_LastName": "Williams",
"User_PhoneNumbers": [
{"Phone_Type": "Home","Phone_Number: "555-555-5555" },
{"Phone_Type": "Mobile","Phone_Number: "333-333-3333" }
]
}
Я пытаюсь отобразить все номера телефонов для пользователя под названием «Фрэнк Уильямс». Я хотел бы использовать цикл, который возвращает результаты (все номера телефонов для конкретного пользователя):
Home, 555-555-5555
Mobile, 333-333-33333
Я новичок в MongoDB и не знаю, как запросить встроенный документ и иметь его вернуть все встроенные документы для этого конкретного пользователя. Я кодирую в php. Спасибо за любую помощь.
Благодарим за помощь. Итак, я понял, что вы запускаете запрос в оболочке, но знаете ли вы, кто он запускается в php? $ cursor = $ collection-> find (array ("_ id" => ObjectId ("4f2984b1af06e80418000000"), array ("User_PhoneNumbers"))? Я пробовал это, но не работал. Спасибо. – user982853
@ user982853: Я полагаю, это '$ collection-> find (array ("_ id" => ObjectId ("4f2984b1af06e80418000000"), array ("User_PhoneNumbers" => 1)) ' –
Мне не нравится беспокоить вас этим, но когда я пытаюсь выполнить цикл, он ничего не возвращает Я могу сделать что-то не так: $ cursor = $ collection-> find (array ("_ id" => ObjectId ("4f2984b1af06e80418000000"), array ("User_PhoneNumbers" => 1)); foreach ($ cursor as $ key) { echo $ key ['Phone_Number'];}?>, и это вызывает ошибку: Undefined index: User_PhoneNumbers в C: \ wamp ... – user982853