我正在尝试根据查询将文档插入到集合中 所以我写了查询,然后为每个, 如何阅读" 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>" );
});
答案 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>
您可以使用OrderedBulkOP或UnorderedBulkOp,但Mongo按操作类型和连续性对操作进行分组。每组操作最多可以有1000次操作。如果一个组超过此限制,MongoDB会将该组划分为1000或更少的较小组。 因此,您不必担心每500次左右的操作提交它