MongoDB 正在使用 meteor 中客户端导入的 json 对象更新集合文档

MongoDB Updating collection document with json object imported by client in meteor

我有一个由客户端导入的 JSON 对象(作为 XLSX 导入并转换为 JSON)。

每个 JSON 对象都有一个引用和插入到我的集合中的其他几个字段。

我想做的是,每当客户导入一个 JSON 对象时,该对象的引用已经在我的一个集合文档中,我想用更新的字段和导入的新字段更新该文档由客户。

这就是我想要达到的目标:

let keys = Object.keys(json.data[0]);
let values = Object.values(json.data[0]);
Adverts.update({'reference': json.data[0].reference}, {$set: {keys: values}}, {upsert: true});

我已经检查了文档和其他答案,似乎使用 upsert 和 $set 是可行的方法,但我不知道我做错了什么。

谢谢。

keysvalues 是数组,你不能这样做:

...{$set: {keys: values}}...

试试这个:

Adverts.update({'reference': json.data[0].reference}, 
{$set: json.data[0] }, {upsert: true});