0
npm-cronタイマーで実行するコードを書いています。ここでは、次のとおりです。UpdateManyは関数ではありませんMongoDB + Node
var CronJob = require('cron').CronJob;
var job = new CronJob({
cronTime: '* * * * *',
onTick: function() {
var monk = require('monk'); // persistence module over MongoDB
var db = monk('localhost:27017/test');
console.log("Hello from the Cron job! " + new Date());
var collection = db.get('Activity');
collection.updateMany({"repetitions.today": {$gt: 0}},
{
$set: {
"repetitions.today": 0,
}
}, function(err, activity){
if (err) throw err;
});
},
start: true,
timeZone: 'America/Los_Angeles'
});
job.start();
問題は、私はcollection.updateMany()
ライン上のエラーを取得していることです。エラーは、私が予想通りupdate()
代わりのupdateMany()
、コードの作品(だけMongoのコレクションの最初の項目には、使用している場合
updateManyは、一方の機能
ではないと述べています)。私は間違って何をしているのでしょうか?
foreach()
を使って書き直そうとしましたが、これも機能として認識されません。
あなたが使用してみました:更新クエリのオプションとして、{マルチ本当}? collection.update({ "repetitions.today":{$のGT:0}}、{ $設定:{ "repetitions.today":0、 }}、{ マルチ:真} – dyouberg
働い!updateMany()と同じであるかどうか知っていますか?上記の問題がなぜ発生したのか不思議です。 – MadPhysicist
updateMany()にはMongoDBのバージョン3.2以降が必要です。 --version) – dyouberg