Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb JavaScript控制台中的数组大容量插入_Javascript_Mongodb - Fatal编程技术网

mongodb JavaScript控制台中的数组大容量插入

mongodb JavaScript控制台中的数组大容量插入,javascript,mongodb,Javascript,Mongodb,我正在尝试从阵列的MongoDB控制台向集合进行大容量插入 我想做类似的事情 obj1={u id:ObjectId(),blabla:1} obj2={u id:ObjectId(),blabla:2} objs=[obj1,obj2] db.test.insert(objs) db.test.find() >{u id:ObjectId(“xxxx”),“blabla”:1} >{u id:ObjectId(“xxxx”),“blabla”:2} 但是,它不是在集合中插入两个对象,而是用两个

我正在尝试从阵列的MongoDB控制台向集合进行大容量插入

我想做类似的事情

obj1={u id:ObjectId(),blabla:1}

obj2={u id:ObjectId(),blabla:2}

objs=[obj1,obj2]

db.test.insert(objs)

db.test.find()

>{u id:ObjectId(“xxxx”),“blabla”:1} >{u id:ObjectId(“xxxx”),“blabla”:2}

但是,它不是在集合中插入两个对象,而是用两个对象存储一个列表

db.test.find()

>{u id:ObjectId(“xxx”),“0”:{u id:ObjectId(“xxxx”),“blabla”:1},“1”:{u id:ObjectId(“xxxx”),“blablabla”:2}


该功能似乎出现在其他驱动程序(如)上,但我在mongodb控制台上找不到一种用JavaScript代码实现该功能的方法。

简而言之:mongo控制台级别上没有这样的批量插入API。

对此有一个现有的功能请求

不能通过交互式命令shell执行大容量插入。但是Mongo附带了一个命令行工具,它允许您将多个记录作为JSON(您的最佳选择)、CSV或二进制文件导入

> mongoimport -h <host> -d <database> -c <collection> -u <user> -p <password> --file <input file> --jsonArray
>mongoimport-h-d-c-u-p--file--jsonArray

jsonArray
标志允许您在使用json数组文件时插入多条记录。另一个重要注意事项是确保文件以新行字符结尾。否则,最后一行将不会被解析。

将多个文档插入集合的功能已添加到Mongo命令shell版本2.1+。现在,您可以在集合中插入和排列文档

例如:

db.users.insert([{name:'Jon', email:'Jon_Doe@mail.com'},{name:'Jane', email:'Jane_Doe@mail.com'}])
有关更多信息,请查看以下jira关闭功能请求:


批量在2.6.6中提供

var bulk=db.posts.initializeUnorderedBulkOp() ;
bulk.insert(obj1) ; bulk.insert(obj2);...

bulk.execute() ;

这个答案不再有效,正如您在IDAN()的回复中所看到的。
var bulk=db.posts.initializeUnorderedBulkOp() ;
bulk.insert(obj1) ; bulk.insert(obj2);...

bulk.execute() ;