mongodb - mongoose如何向数组属性添加或者删除文档?

查看:538
本文介绍了mongodb - mongoose如何向数组属性添加或者删除文档?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

像下面这个例子,如果我要向lists数组继续添加或者删除文档,我应该怎么操作?谢谢!

{
    "_id" : ObjectId("590a77315a7ae88824b296cf"),
    "user" : "yejia@qq.com",
    "password" : "5475442343",
    "lists" : [
        {
            "create_at" : "1234",
            "update_at" : "1234",
            "title" : "yejia",
            "list_id" : 123
        }
    ]
}

解决方案

pull和push,和MongoDB Node.JS Driver一样的。

参考下面的用法:

Model.update({ }, {’$pull’:{ } } );

Model.update({ }, {’$push’:{ } } );

供参考

Love MongoDB! Have Fun!


Mongoose的pull和push的语法参考如后:

var schema = new mongoose.Schema({ user: 'string', password: 'string', lists: [ {create_at: 'string', update_at: 'string', title: 'string', list_id: 'number'}]});

var User = mongoose.model('User', schema,'test');

//删除
User.update({"user" : "yejia@qq.com"}, 
{'$pull':{ lists : { list_id : 123 }}}, function(err, data){
    if(err) {
        console.log(err);}
    console.log(data);
    });

//添加
User.update({"user" : "yejia@qq.com"}, 
{'$push':{ lists : { create_at: '111', update_at: '222', title: 'test', list_id: 8888}}}, function(err, data){
    if(err) {
        console.log(err);}
    console.log(data);
    });

//打印结果
User.find({},function(err,result){
    console.log(result);
});

这篇关于mongodb - mongoose如何向数组属性添加或者删除文档?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆