我有一個蒙戈數據庫的子對象與包含空格的領域,是這樣的:如何使用mongo中的點符號查詢帶空格的字符串?
{name: "John Doe", subdata: {"Field 1": "Something", "Field 2": "Something else"}}
從我已經能夠找到,蒙戈允許場場1和場2,但還沒能夠找到任何指示如何構建一個查詢來查找subdata.Field 1.有沒有一種方法可以搜索字段1和字段2在我的例子中,或者我應該重構我的數據以擺脫空白?
我有一個蒙戈數據庫的子對象與包含空格的領域,是這樣的:如何使用mongo中的點符號查詢帶空格的字符串?
{name: "John Doe", subdata: {"Field 1": "Something", "Field 2": "Something else"}}
從我已經能夠找到,蒙戈允許場場1和場2,但還沒能夠找到任何指示如何構建一個查詢來查找subdata.Field 1.有沒有一種方法可以搜索字段1和字段2在我的例子中,或者我應該重構我的數據以擺脫空白?
嗯,我不知道pymongo,但許多其他語言庫提供對象文檔映射功能。我敢打賭,你也會遇到這方面的問題,因爲「字段1」在我聽說的每種語言中都是無效標識符。
我的建議是:擺脫空白,你將在未來節省大量的時間。
我接受了你的建議,只是爲了簡單而拋棄了空白。 –
除非我誤解你的問題,你可以這樣做:
db.test.find({ "subdata.Field 1" : 'Something' });
空間是蒙戈字段名稱的有效字符。
字段名稱不能包含點(即)或null characters(即\ 0),他們不能以美元符號(即$)開始。
這麼樣的查找應該像一個魅力:
db.collection.find({"subdata.Field 1": {$exists: true}})
蒙戈告訴我,這是不正確的JSON符號這是正確的行爲。如果「字段1」相當於「字段1」等,則它是有效且可查詢的。 –