Chcę pobrać wartości tylko niektórych kluczy z kolekcji MongoDB.MongoDB: Zapytanie o klucz o nazwie spacji w nazwie
Ale kolekcja ma kilka klawiszy, które mają „przestrzeń” w nazwie jak:
"Parent":{"key1": //some string,
"key2": //some string,
"key 3": //some string}
wiem, jest to błędne podejście, ponieważ nie powinno być idealnie przestrzenie w nazwę klucza, ale mimo jak mam zapytać o ten klucz? Używam Python i PyMongo.
Dla normalnych klawiszy mogę to zrobić:
db.coll_name.find({"key": "India"}, {"_id": 0, "Parent.key1": 1, "Parent.key2": 1})
Więc jak mam użyć klucza „rodzic [«klucz 3»]” w drugim argumencie powyższej kwerendy? Czy jest jakiś sposób, aby to osiągnąć?
Oto zapytanie, które zwraca dane (prac):
db.coll_name.find({}, {"Parent.key1": 1, "_id": 0})
Oto zapytanie, które nie zwraca danych:
db.coll_name.find({}, {"Parent['key 3']": 1, "_id": 0})
co jest nie tak z '' 'kluczem 3': 1} '? Teraz, jeśli nie wiesz, ile spacji w kluczu. Proponuję zaktualizować dokumenty i usunąć spacje z kluczy – styvane
Przepraszam, zredagowałem trochę pytanie. Proszę spojrzeć. "Parent ['key 3']" nie działa. Działa tylko notacja kropkowa. –
Co oznacza "nie działa"? Czy pojawia się błąd? Czym jest? Jaki kod właśnie uruchomiłeś, aby to zrobić (nie opublikowałeś tego)? – Ben