分析ツールを作成しようとしています。いくつかの文を読んで処理し、その日のキーワードを取得します。しばらくすると、また同じことをするようになります。したがって、取得するたびに保存する必要があり、次に同じ単語が来るたびに、指定された値だけ単語の数を増やしたいと思います。
たとえば、最初にコンテンツを保存したときにcontent:{stackoverflow:2、question:5}を取得し、次にcontent:{stackoverflow:3、answer:2}を取得したときに、古いレコードを更新する必要があります。レコードは次のようになります。このコンテンツ:{stackoverflow:5、question:5、answer:2}。
どんな単語が来るのかわからないので、content:Schema.Types.Mixedを作成しましたが、$incは数字にのみ許可されています。
{ [MongoError: Modifier $inc allowed for numbers only]
name: 'MongoError',
lastErrorObject:
{ err: 'Modifier $inc allowed for numbers only',
code: 10152,
n: 0,
connectionId: 77,
ok: 1 },
errmsg: 'Modifier $inc allowed for numbers only',
ok: 0 }
それを行う方法はありますか?
更新:私のコード。
for(index in wordsArray){
var word = wordsArray[index];
if(word!==topic && excludedWords.indexOf(excludedWords)===-1){
if(slotLoc[word])
++slotLoc[word];
else
slotLoc[word] = 1;
}
}
Words.findOneAndUpdate({slot:slot},{$inc:{content:slotLoc}},{upsert:true},function(err){
if(err)
console.log(err)
else
console.log("Saved Tweet");
})
よろしく、ジシュヌ