【问题标题】:Node.js Mongoose how to save new document and add new value to array fieldNode.js Mongoose 如何保存新文档并向数组字段添加新值
【发布时间】:2017-08-31 03:32:57
【问题描述】:

我有一个User 模型,每个user 文档都有name 字段,它是Stringfriends 字段,它是一个整数的array,它包含该用户的其他用户的id's是朋友。

每当我想在朋友数组中创建一个具有一个 id 的新用户文档时,我必须执行三个步骤: 1. 创建具有特定名称的新用户; 2. 保存该用户; 3. 通过将新朋友 id 添加到数组中来更新此用户的朋友字段。

我想知道是否有另一种更有效的方法来实现相同的结果。到目前为止,这是我的代码:

var User = mongoose.model('User',{
    friends:  {
        type: [Number],
        required: false      
    },
    name: String
});

            //cretae new user document
            var user = new User ({
                name: name
            });

            user.save(function(err){
                if(err){
                    console.log("something went wrog, read below");
                    console.log(err);
                }else{
                    User.update({'name': name}, {
                        $addToSet: { 'friends': newFriendId}
                    },function(err, count) {
                        if(err){
                            console.log(err);
                        }else{
                            console.log(count);
                        } 
                    }); 
                }
            });

【问题讨论】:

  • 为什么在用户保存后使用更新?

标签: arrays node.js mongodb mongoose mongoose-schema


【解决方案1】:
var User = mongoose.model('User',{
    friends:  {
        type: [Number],
        required: false      
    },
    name: String
});

            //cretae new user document
            var user = new User ({
                name: name,
                friends : [newFriendId] 
            });

            user.save(function(err){
                if(err){
                    console.log("something went wrog, read below");
                    console.log(err);
                }else{


                }
            });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-14
    • 2012-10-27
    • 1970-01-01
    • 2021-06-21
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多