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

浏览:42日期:2023-06-13

问题描述

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

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

问题解答

回答1:

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);});

相关文章: