mongo - 根据查询将文档插入其他集合

时间:2017-05-30 02:39:16

标签: mongodb

我正在尝试根据查询将文档插入到集合中 所以我写了查询,然后为每个, 如何阅读" doc"结果文档从第一个查询到insert语句?

 db.printer.find({"color":{$ne:null},"isDeleted":false}, {desc:1,identifier:1,_id:0}).forEach(function (doc) {

db.inventory.insertOne({ item: "printer", identifier: "<NEED DATA FROM DOC>" );

});

1 个答案:

答案 0 :(得分:0)

正如Neil Lunn指出的那样,答案应该是使用doc.identifier [object_name.identifier]。我正在写答案,因为它可能对某些人有用,他们可能认为这个问题没有得到回答 要使用.bulkWrite(),请按照

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- copy all nodes and attributes -->
    <xsl:template match="@*|node()" name = "identity">
        <xsl:copy >
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="/root/keyword/name/text()[.='foo']">foobar</xsl:template>

</xsl:stylesheet>

您可以使用OrderedBulkOPUnorderedBulkOp,但Mongo按操作类型和连续性对操作进行分组。每组操作最多可以有1000次操作。如果一个组超过此限制,MongoDB会将该组划分为1000或更少的较小组。 因此,您不必担心每500次左右的操作提交它