我正在尝试sub-collection
推送MongoDB
,我不知道该怎么做。
所以,我的帖子集合结构:
{
"_id": "58a3189b67476b420e465f8b",
"postID": "123456",
"comments": [
{
"subComments": [],
"comment": "This is a test",
"commentID": 1
}
]
}
所以,我想要做的是使用findOneAndUpdate
查找上述文档,然后选择此特定comment
( commentID == 1 ),然后进入subComments
它。
我可以通过推送findOneAndUpdate
了解postID
comments
如何Mongoose
,然后通过推送post
添加comment
,但如何找到commentID
,然后subComment
由它 <div id="bootstrapModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success " id="submitButton">Submit</button>
<button type="button" class="btn btn-danger" data-dismiss="modal" >Cancel</button>
</div>
</div>
</div>
</div>
然后推入var modal = $('#bootstrapModal');
$('.modal-backdrop', modal).css('display', 'none');
$('.modal-dialog',modal).css('pointer-events', 'none');
$('.modal-content',modal).css('pointer-events', 'all',);
$(modal).modal('show');
?
先谢谢你们!非常坚持这最后一块拼图。
答案 0 :(得分:1)
它类似于其他find
个查询。
你可以试试这个:
Post.findOneAndUpdate({
"postID" : givenPostID,
"comments.commentID" : givenCommentID
},{
$push : {
"comment.$.subComments" : givenSubComment
}
},function(err,result){...});
comments.commentID: givenCommentID
会找到comment
的{{1}}元素。
commentID == givenCommentID
comment.$.subComments
push
将givenSubComment
数组的subComments
元素的matched
数组(基于commentID匹配)。