为多个记录

时间:2016-10-14 08:00:25

标签: mongodb

在MongoDB中,如何一次以json格式插入多个文件?

我可以使用

来插入单个记录
db.sample.update(
    { name: "harish" },
    { 
        $set: { "size": 2015 }, 
        $setOnInsert: { "name": "hi" }
    },
    { upsert: true }
)

但是如何插入包含数百万条记录的json文件?

{“name”:“mouli”,“company”:“jp morgan”,“size”:40,“role”:“architect”} {“name”:“siva”,“company”:“IBM “,”size“:30,”role“:”architect“} {”name“:”siva sai“,”company“:”cisco“,”size“:220,”role“:”CEO“} {”名称“:”siva {“name”:“durga prasad”,“company”:“big datamatica”,“size”:50,“role”:“CEO”} sai varma“,”“company”:“karbon”, “size”:50,“role”:“trainer”} {“name”:“jagan”,“company”:“amazon”,“size”:500,“role”:“developer”}

1 个答案:

答案 0 :(得分:1)

mongodb中的upsert意味着更新与条件匹配的记录,如果mongodb找不到任何记录匹配条件,它将插入一个新文档,其中包含您在查询中提到的值。

意味着它可以一次更新多个记录,但如果找不到文档匹配条件,它只会插入一条记录。

还有一件事,你需要在选项中添加multi:true来更新多条记录。

db.sample.update({name: "harish"},{$set: {"size": 2015 }, $setOnInsert: { "name": "hi"}},{multi:true, upsert:true})