我收到错误MongoError: The dollar ($) prefixed field '$inc' in '$inc' is not valid for storage.
const modifier = { $set: {}, $inc: { 'hearts.counter': 1 } };
modifier.$set[`hearts.records${i}.expDate`] = expDate;
Meteor.users.update(lookUpUser._id, { modifier });
到目前为止,我试过了:
Meteor.users.update(lookUpUser._id, modifier);
和
const modifier = { $set: {}, $inc: {} };
modifier.$inc['hearts.counter'] = 1;
我做错了什么?有人可以帮帮我吗?
编辑: 我的用户集合如下所示:
{
"_id": "xxxxx",
"username": "xxxx",
"hearts": {
"counter": 0,
"records": [{
"owner": "xxxxx",
"expDate": Date
}, {
"owner": "xxxxx",
"expDate": Date
}]
}
}
答案 0 :(得分:0)
我认为你这样做的方式, out.write('\t'.join([line[0], str(q_start), str(q_end)] + line[3: ]) + '\n')
是一个数组,而不是一个对象。正如@chridam所提到的,你可能需要添加一个点。试试这个:
$set
或直接:
const modifier = { $set: {}, $inc: { 'hearts.counter': 1 } };
modifier.$set = { [`hearts.records.${i}.expDate`]: expDate }
Meteor.users.update(lookUpUser._id, modifier);