gpt4 book ai didi

arrays - Mongodb:如何自动增加子文档字段?

转载 作者:可可西里 更新时间:2023-11-01 09:52:28 26 4
gpt4 key购买 nike

以下文件记录了米尔豪斯和巴特之间的一段对话。我想在一个独特的操作中插入一 strip 有正确数字(示例中的下一个数字是 3)的新消息。这可能吗?

    {   user_a:"Bart",
user_b:"Milhouse",
conversation:{
last_msg:2,
messages:[
{ from:"Bart",
msg:"Hello"
num:1
},
{ from:"Milhouse",
msg:"Wanna go out ?"
num:2
}
]
}
}

最佳答案

在 MongoDB 中,数组保持其顺序,因此通过添加 num 属性,您只是为不需要额外字段即可完成的事情创建更多数据。只需使用数组中的位置即可完成同样的事情。抓取数组中的 X 消息将提供比搜索 { num: X } 更快的搜索。

为了保持顺序,除了在 conversation.last_msg< 上执行 find() 之外,我认为没有添加 num 类别的简单方法 在插入新的子文档并递增 last_msg 之前。

根据您需要保留顺序的内容,您可以考虑在子文档中包含一个时间戳,该时间戳通常保存在对话记录中,并且可以提供其他有用的信息。

此外,我还没有使用过它,但是有一个 Mongoose 插件可能会或可能不会执行您想要的操作:https://npmjs.org/package/mongoose-auto-increment

关于arrays - Mongodb:如何自动增加子文档字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com