查找只插入項目我嘗試定期獲取從多個端點飼料和循環這些批次的產品,做與UPSERT更新:真。MongoDB的:在UPSERT
對於我檢查的項目
,如果它已經MyCollection中的URL的每個項目,它更新了「END_DATE」
,如果它是新的,它被插在MyCollection的與「起始日期」使用$ setOnInsert
我的問題是:我怎樣才能在從MyCollection的一個UPSERT只得到插入的項目?
我試過findAll $,其中start_date = end_date但是$setOnInsert: { start_date: end_date }
沒有使兩個日期完全相等。即使這種解決方案的運作方式與我之前提出的問題相同,但這種解決方案效率不高尋找最佳實踐。謝謝!
這裏是我的代碼:
var now = new Date(); ///???????? I thought this was cached??
for (var i = batch.length - 1; i >= 0; i--) {
batch[i].end_date = now;
myCollection.update({'url': batch[i].url}, {$setOnInsert: { start_date: batch[i].end_date }, $set: batch[i]}, {safe:true, upsert : true}, function(err, result) {
if(err) { console.log(err); return; }
console.log(result); //result doesn't give any clue about inserts
});
db.getLastErrorObj(); '{的 「n」:0 「的ConnectionId」:581, 「ERR」:空, 「OK」:1}'這是正確的使用情況?我使用本地node.js mongo驅動程序,你知道任何公開這些細節的驅動程序/框架? – user3211198