Я хочу суммировать поле документов, когда вставляю новую запись с повторяющимся уникальным идентификатором. Это то, что я до сих пор:
MongoClient.connect(process.env.MONGODB_URI || process.env.DB_CONNECTION, { useUnifiedTopology: true, useNewUrlParser: true }, function (err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const messageTable = dbo.collection("comments");
for(var key in words){
let myobj =
[{
_id: key,
frequency: words[key]
}];
messageTable.insertMany(myobj, function(err, res){
if (err) throw err;
console.log("documents inserted");
});
messageTable.aggregate([
{ $match: { _id: key } },
{
$group: {
_id: key,
total: {
$sum: "$frequency"
}
}
},
{ $merge: { into: "comments", whenMatched: "replace" } }
]);
}
})
При чтении документов я попытался использовать метод статистического объединения для объединения новых записей, если ключ уже существует в качестве уникального идентификатора. Это не работает в настоящее время. Как мне объединить дубликаты документов в моем MongoDB, используя NodeJS?