文件考慮一個簡單蒙戈文件結構僅設置值:mongodb的:upserting:如果被插入
{_id,firstTime,lastTime}
客戶端需要插入一個文檔具有已知ID,或更新現有文檔。 'lasttime'應該總是設置爲最近的一段時間。對於'firstTime',如果正在插入文檔,則應將'firstTime'設置爲當前時間。但是,如果文檔已經創建,那麼'firstTime'保持不變。我想純粹用upserts來做(避免查找)。
我抓取http://www.mongodb.org/display/DOCS/Updating,但我只是不明白如何完成特定的操作。
我不認爲這是不合理的,有$ push和$ addToSet操作可以在數組字段上有效地做到這一點,只是在簡單字段上不會這樣做。這就像應該有像$ setIf操作。
*如果文檔已經創建,該字段應該保持不變*不會調用upsert(如在您的標題中) –
@ om-nom-nom我概述了最簡單的情況,我更新了描述,所以有一個總是被更新的字段。 –
看起來像這個功能是針對2.4:https://jira.mongodb.org/browse/SERVER-340 – JohnnyHK