我正在使用Mongoose 3.8.23,Express 4.0.0,
使用upsert选项更新记录时。我收到了错误。
var queryId = {_id: aggDate + '/' + event + '/' + platform};
var dailySet = {$set: {}};
dailySet.$set['day'] = 0;
dailySet.$set['metadata.event'] = event;
dailySet.$set['metadata.platform'] = platform;
dailySet.$set['metadata.date'] = today;
aggregateModel.update(queryId, dailySet, {upsert: true}, function (err, numUpdated) {
if (err) {
console.log(err);
callback(err, null);
} else {
console.log(numUpdated);
callback(null, numUpdated);
}
});
供参考:
首先,我正在研究预分配的预聚合用例。这是第一次无法创建集合。如果我在mongoshell上运行,它可以正常工作,但不能从脚本中运行。
架构:
_id: String,
metadata: { date: String, platform: String, event: String },
day: Schema.Types.Mixed,
hour: Schema.Types.Mixed,
minute: Schema.Types.Mixed
错误:
错误:无法在Collection.updatevar / www / html / mapm / node_modules / mongoose / node_modules / mongodb / li b / mongodb / collection / core.js:719:11)的NativeCollection中使用没有提供回调的writeConcern 。(匿名函数)[作为更新](/ var / www / html / mapm / node_modules / mongoose / lib / drivers / node-mongodb-native / collec tion.js:135:28)在NodeCollection.update(/ var) / WWW / HTML / MAPM / node_modules /猫鼬/ node_modules / mquery / LIB /收集/点头e.js:61:19)