mongodb怎么按插入数据后的顺序查询?例如常见的评论回复场景?

常见评论回复需求,但想按插入顺序查询,例如目前有两条评论回复数据:

[{
    name: "小红",
    content: "小红回复:xxxxx",
},{
    name: "小蓝",
    content: "小蓝回复:xxxxx",
}]

此时小明回复小红,我想插入在小红数据后面,例如取出的数据是这样的:

[{
    name: "小红",
    content: "小红回复:xxxxx",
},{
    name: "小明",
    content: "小明回复小红说:xxxx",
},{
    name: "小蓝",
    content: "小蓝回复:xxxxx",
}]

这种需求怎么实现呢?

阅读 2.3k
3 个回答

MongoDB shell 命令:


// 小红的评论
db.comments.insert({name: "小红", content: "小红回复:xxxxx", sequence: 1});

// 小蓝的评论
db.comments.insert({name: "小蓝", content: "小蓝回复:xxxxx", sequence: 2});

db.comments.update({sequence: {$gte: 2}}, {$inc: {sequence: 1}}, {multi: true});

db.comments.insert({name: "小明", content: "小明回复小红说:xxxx", sequence: 2});

然后:

`
db.comments.find().sort({sequence: 1});`

这种需求,应该是需要把回复人,和被回复Id,内容给拆分开然后排序显示吧

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题