2013-04-17 92 views
0

我將時間存儲爲字典,並且我並不完全關心小時/分鐘/秒,因爲我想查找當天的每個約會。 ('time':{'month':m,'day':d,'year':y})不會返回任何結果(可能是非顯而易見的,因爲我認爲它會起作用) 。我認爲我必須將字典的其餘部分與[任何字符,任意長度]的正則表達式匹配,但這也不會返回。在pymongo/MongoDB中查找基於不完整字典的文檔

db.appointments.find({'name': some_name, 'time': {'month': mm, 'day': dd, 'year': yyyy, 'hour': r'.*', 'minute': r'.*', 'second': r'.*'}}) 

我擡頭看了一眼,試過自己的一切似乎都無法工作,所以我不知道我應該做什麼。

回答

0

從技術上講,你存儲時間爲subdocument 有關報價,以幫助您:

平等具體領域內匹配子文檔選擇 文檔時,子文檔的字段包含 匹配字段指定值。

在下面的例子中,查詢使用點符號匹配所有 文件,其中現場製片的值是一個子文檔 包含一個字段公司的價值「ABC123」還可能含有其他 領域:

db.inventory.find({ 'producer.company': 'ABC123'})

所以,你的例子可以作爲工作:

db.appointments.find({'name': some_name, 'time.month' : mm, 'time.day': dd, 'time.year': yyyy}}) 
+0

謝謝,那完美的工作。 – jake