将Schema.Types.ObjectId数组发布到MongoDB

时间:2016-02-03 22:21:07

标签: arrays node.js mongodb mongoose database

如何将一个Schema.Types.ObjectId数组发布到MongoDB?我正在尝试创建用户组,这是一组“用户”组。例如,

var UserGroup = new Schema({
    users: [{
        type: Schema.Types.ObjectId,
        ref: 'User'
    }]
});

新用户组功能

module.exports.create = function(request, response) {
    var group = new UserGroup({
        users = request.body.users
    });

    group.save(function(error) {
        if(error) { throw error; } else { response.send('Group Created Successfully.');
    });
};

我目前正在使用Postman来测试功能,应该如何准确发布数据?

作为Javascript数组,即['A_USER_ID', 'A_USER_ID']

谢谢!

1 个答案:

答案 0 :(得分:0)

@Answer

我使用了select()函数的旧语法,因此将无效参数传递给$ push函数。发送请求时,我只需将ObjectIds作为id,id,id传递,一旦到达服务器,只需使用var my_array = request.body.users.split(',');将其放入数组中,然后使用以下命令将其推送到数据库中:

$push: { users: { $each: my_array } }

我希望这有用,文档在这个问题上并不是特别清楚。