我正在尝试创建分析工具。它将读取一些句子并对其进行处理并获取当天的一些关键字。一段时间后,我会再次做同样的事情。因此,每次我得到它时,我都必须保存它,下次出现相同的单词时,我想将单词的计数增加给定值。
例如,我第一次保存内容时获得内容:{stackoverflow:2,问题:5},下次获得内容时:{stackoverflow:3,答案: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");
})
问候, 吉什努