MongoDB insert/update/one2many案例

以博文与评论为例,博文有标题内容,对应多个评论,评论有评论人、评论内容等。

(1)插入一条博文:
db.blog.insert(
    {_id:11,title:this is blog title1,content:this is blog content1}
)

(2)更新一条博文
db.blog.update(
    {_id:11},
    {$set:{title:this is blog title2,content:this is blog content2}}
)

(3)更新一条博文,如果不存在就插入
db.blog.update(
    {_id:12},
    {$set:{title:this is blog title4,content:this is blog content4}},
    {upsert:true}
)

(4)对博文增加一条评论内容
db.blog.update(
    {_id:11},
    {$push:{comments:{user:user1,content:评论1}}}
)

(5)根据条件删除博文的评论
db.blog.update(
    {_id:11},
    {$pull:{comments:{user:user1}}}
)


(6)使用$addToSet避免添加重复数据
db.blog.update(
   {_id:11},
   {$addToSet:{comments:{user:user1,content:评论1}}}
)

(7)用$addToSet & $each联合操作批量插入数据
db.blog.update(
   {_id:11},
   {$addToSet:{comments:{$each:[
    {user:user1,content:评论1},
    {user:user2,content:评论2},
    {user:user3,content:评论3},
   ]}}}
)

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。