繁体   English   中英

如何在mongodb中的.aggregation之后插入一个数组作为新文档?

[英]How to insert an array as a new document after the .aggregation in mongodb?

我想在 MongoDB 中的聚合操作后插入一个 var object 作为新文档。 我试试这个方法:

    var postUpvote = db.collection.aggregation([
    {$limit:1}
    ]).toArray()

    db.collection.aggregation([
    ...
    ...
    ]).insert(postUpvote[0])

但是 db.collection.aggregation(...).instert() 不是 function。 第二个聚合结果只是一个文档。 而且我还尝试使用 $addFields 将 postUpvote 插入到文档中,但是我无法将此插入的文件从文档中取出到新文档中。

{
    "_id" : 1671,
    "CommentUserId" : 1671,
    "CommentUserUpVote" : 2644,
    "PostUserId" : 1671,
    "PostUserVote" : 2644
}

PostUserId 和 PostUserVote 是 var postUpvote。 我想要的结果是

{
    "_id" : 1671,
    "CommentUserId" : 1671,
    "CommentUserUpVote" : 2644,
}
{
    "_id": //Whatever, I don't care
    "PostUserId" : 1671,
    "PostUserVote" : 2644
}

您可以使用$out聚合作为管道中的最后一步。 但如果 output 集合已经存在,它将完全替换它。 如果你想避免它尝试$merge聚合。 它可以将结果(插入新文档、合并文档、替换文档、保留现有文档、操作失败、使用自定义更新管道处理文档)合并到现有集合中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM