Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新数据库中的对象?(Node.js w/Mongoose)_Javascript_Arrays_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript 更新数据库中的对象?(Node.js w/Mongoose)

Javascript 更新数据库中的对象?(Node.js w/Mongoose),javascript,arrays,node.js,mongodb,mongoose,Javascript,Arrays,Node.js,Mongodb,Mongoose,我有一个模式 var mySchema = new Schema({ array: [] }); var PSchema = mongoose.model('objects', mySchema); 我在模式对象的数组属性中添加了一个名为“hello”的元素 var newObject = new PSchema; newObject.array.push('hello'); newObject.save(function (err) {}); 当且仅当hello2在数组中

我有一个模式

var mySchema = new Schema({
        array: []
});

var PSchema = mongoose.model('objects', mySchema);
我在模式对象的数组属性中添加了一个名为“hello”的元素

var newObject = new PSchema;
newObject.array.push('hello');
newObject.save(function (err) {});
当且仅当hello2在数组中不存在时,我想更新schema对象以将“hello2”添加到数组属性

猫鼬能做到这一点吗?如果是,我该怎么做

您可以使用find函数,然后执行更新

PSchema.find({},function(err,docs){
docs.forEach(function(doc){
if(doc.array.indexOf("hello2") == -1)
{
    doc.array.push("hello2");
    doc.save(function (err) {
        if(err) {
            //error
        }
    });
}
})
})