mongodb - mongoose如何向数组属性添加或者删除文档?
本文介绍了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屋!
查看全文