【问题标题】:Meteor inserting into nested collection?流星插入嵌套集合?
【发布时间】:2023-12-09 14:36:02
【问题描述】:

我有一个 Teams 集合,其中包含一个创建者 ID 和一个成员数组。 在使用创建者 ID 搜索正确的团队后,我想将项目添加到成员数组中,并且在该成员数组中,每个位置都是另一个包含字符串和数字的数组,但尝试这样做时遇到问题。

目前我正在尝试,

var user = Meteor.user();
var myTeam = Teams.findOne({creatorId: user._id});
Teams.insert(myTeam, {$addToSet: {members: {someString, someNumber}}});

出现错误。 正确的方法应该是什么? =(

【问题讨论】:

    标签: arrays mongodb meteor


    【解决方案1】:

    由于您已经有一个想要添加成员的团队,因此您必须在您的团队集合中使用 update 并使用所需团队的 ID 更新文档:

    Teams.update({
        _id: myTeam._id
    }, {
        $addToSet: {
            members: {
                someString, someNumber
            }
        }
    });
    

    【讨论】:

    • 嗨 PhilippSpo!感谢您的快速回复。嗯,由于你的错误,应用程序失败了。嗯...意外的令牌。
    • 啊,我意识到最终成员应该是 [] 而不是 {}。仍然感谢您的帮助! =D