小编Jef*_*Lau的帖子

如何在 MongoDB 中使用变量名增加嵌套对象

所以我“想要”工作的代码如下。我有一个变量名作为未读对象的键名,这似乎是在 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)

javascript mongodb meteor

1
推荐指数
1
解决办法
1333
查看次数

标签 统计

javascript ×1

meteor ×1

mongodb ×1