【问题标题】:how to access each document fields when updating them in mongoose [duplicate]在猫鼬中更新它们时如何访问每个文档字段[重复]
【发布时间】:2020-02-01 12:14:21
【问题描述】:

假设我有一个用户创建的新俱乐部,并且该用户选择了许多用户作为俱乐部的成员。 所以创建俱乐部后,我应该找到所有成员并将club._id 添加到他们的clubs 字段中。像这样

await User.updateMany({_id : {$in: newClub.members}}, {clubs: [...user.clubs, newClub._id]});

注意! user.clubs 是我需要的一个虚构变量。

我想知道是否有一种方法可以将新俱乐部推送到他们现有的俱乐部,而无需循环它们并将club._id 推送到他们的clubs 字段并保存它们。 谢谢

没错,在这种情况下,我的目标是对现有文档使用 push,但我的问题与 Push items into mongo array via mongoose 不同,因为我通常想知道在更新现有文档时如何访问现有文档中的字段。

【问题讨论】:

    标签: javascript arrays node.js mongodb mongoose


    【解决方案1】:

    您可以使用 MongoDB 聚合管道将新值推送到数组中

    User.updateMany(
        {_id : {$in: newClub.members}}, 
        { $push: { clubs: newClub._id } },
        function (error, success) {
            if (error) {
                console.log(error);
            } else {
                console.log(success);
            }
        });
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 2017-11-27
      • 1970-01-01
      • 2020-08-05
      • 2015-06-03
      • 2019-09-30
      • 2020-10-18
      相关资源
      最近更新 更多