如果我有代表与意见后,看起来像这样的文件:的MongoDB:查找父插入孩子的生成的ID保存
{
"_id": "579a2a71f7b5455c28a7abcb",
"title": "post 1",
"link": "www.link1.com",
"__v": 0,
"comments": [
{
"author": "Andy",
"body": "Wish I had thought of that",
"_id": "579a2a71f7b5455c28a7abcd",
"upvotes": 0
},
{
"author": "Jim",
"body": "Just a comment",
"_id": "579a2a71f7b5455c28a7abcc",
"upvotes": 0
}
],
"upvotes": 5
}
在调用(JavaScript)的代码,我添加了一个新的通过推送到post.comments
数组,然后使用.save
用回调保存该帖子。在保存回调中,我想获取刚刚保存的新评论的生成_id。我该怎么做呢?
当然,我在回调中有父邮件文档,但这没有用,因为我无法告诉哪些评论刚插入。
是否有另一种文档方法或.save
回调的替代形式来处理我的情况?
还是我必须遵循我通常会做的事情,并在保存之前自己在评论上生成一个唯一的ID?
编辑:我使用猫鼬,对不起,忘了说!
我将按照建议阅读Mongoose文档。我有所有经典的多用户问题......所以我想查看详细信息。 – kpollock
好吧,看起来不错,自动生成的ID设置*之前*新的subdoc从save()返回,所以它适用于多用户,相当于使用Types.ObjectID()手动添加唯一ID。甜! – kpollock