所以我“想要”工作的代码如下。我有一个变量名作为未读对象的键名,这似乎是在 MongoDB 中执行此操作的唯一方法是在外部创建一个对象并将其引用为 $inc 的值。这似乎不起作用,但是如果我只有一个关键的 partnerId 而不嵌套对象,它确实起作用。我的问题是如何让它与嵌套对象一起工作。
是否有效:
var partnerId = 234567;
var action = {
unread: {}
};
action[partnerId] = 1;
Threads.update(Session.get('currentChat'),
{
$inc: action
}, callback);
Run Code Online (Sandbox Code Playgroud)
不起作用,但希望它起作用:
var partnerId = 234567;
var action = {
unread: {}
};
action.unread[partnerId] = 1;
Threads.update(Session.get('currentChat'),
{
$inc: action
}, callback);
Run Code Online (Sandbox Code Playgroud)
我收到一个关于无法增加不是数字的东西的错误,我猜这是指对象中的对象。
我拥有的架构是这样的,用户 ID 为 123456 和 234567,我只想增加该数字:
{
_id: 123,
unread: {
123456: 0,
234567: 1,
}
}
Run Code Online (Sandbox Code Playgroud)