db.students.batchInsert is not a function :@(shell):1:1
按照《mongdb权威指南》当使用version 3.4.1版本的mongodb,其中使用batchInsert函数进行对students集合进行批量插入
db.students.batchInsert([{"classid" : 1, "age" : 20, "name" : "kobe"},
{"classid" : 1, "age" : 23, "name" : "nash"},
{"classid" : 2, "age" : 18, "name" : "james"},
{"classid" : 2, "age" : 19, "name" : "wade"},
{"classid" : 2, "age" : 19, "name" : "bosh"},
{"classid" : 2, "age" : 25, "name" : "allen"},
{"classid" : 1, "age" : 19, "name" : "howard"},
{"classid" : 1, "age" : 22, "name" : "paul" },
{"classid" : 2, "age" : 24, "name" : "shane"}]);
插入失败,报如下错误:
2018-02-26T21:08:40.382+0800 E QUERY [main] TypeError: db.students.batchInsert is not a function :@(shell):1:1
原因:书中示例batchInsert是按照version:2.4.0运行的,到本版本已经废弃该方法
解决方法:直接使用insert实现对students集合批量插入
db.students.insert([{"classid" : 1, "age" : 20, "name" : "kobe"},
{"classid" : 1, "age" : 23, "name" : "nash"},
{"classid" : 2, "age" : 18, "name" : "james"},
{"classid" : 2, "age" : 19, "name" : "wade"},
{"classid" : 2, "age" : 19, "name" : "bosh"},
{"classid" : 2, "age" : 25, "name" : "allen"},
{"classid" : 1, "age" : 19, "name" : "howard"},
{"classid" : 1, "age" : 22, "name" : "paul" },
{"classid" : 2, "age" : 24, "name" : "shane"}]);
db.students.find()
控制台输出如下,插入成功
// Command #1:
// Execution time: 0.0s
// Result:
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 9,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
}) // Command #2:
// db.students.find()
// Execution time: 0.0s
// Result:
{ "_id" : ObjectId("5a940a3f379afc334959cacc"), "classid" : 1, "age" : 20, "name" : "kobe" }
{ "_id" : ObjectId("5a940a3f379afc334959cacd"), "classid" : 1, "age" : 23, "name" : "nash" }
{ "_id" : ObjectId("5a940a3f379afc334959cace"), "classid" : 2, "age" : 18, "name" : "james" }
{ "_id" : ObjectId("5a940a3f379afc334959cacf"), "classid" : 2, "age" : 19, "name" : "wade" }
{ "_id" : ObjectId("5a940a3f379afc334959cad0"), "classid" : 2, "age" : 19, "name" : "bosh" }
{ "_id" : ObjectId("5a940a3f379afc334959cad1"), "classid" : 2, "age" : 25, "name" : "allen" }
{ "_id" : ObjectId("5a940a3f379afc334959cad2"), "classid" : 1, "age" : 19, "name" : "howard" }
{ "_id" : ObjectId("5a940a3f379afc334959cad3"), "classid" : 1, "age" : 22, "name" : "paul" }
{ "_id" : ObjectId("5a940a3f379afc334959cad4"), "classid" : 2, "age" : 24, "name" : "shane" }
db.students.batchInsert is not a function :@(shell):1:1的更多相关文章
- TypeError: db.addUser is not a function : @(shell):1:1 ——mongoDB创建新用户名密码的方法
不多说,旧版本使用 db.addUser("root","root") 新版本使用这句会出现这个错误提示 TypeError: db.addUser is no ...
- mongo数据库基本查询语句
D:\MongoDB\Server\3.4\bin>mongo MongoDB shell version v3.-g83c3022fe4 connecting to: mongodb://12 ...
- MongoDB之二基础入门(安装启动)
mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行”. 一. 下载 上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了 ...
- MongoDB之二基础入门(window/linux安装启动)
mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”. 一window安装与启动 一. 下载 上MongoDB官网 ,下载页面:https://w ...
- mongoDB关系型数据库的对比
一.基本操作 1.mongoDB和关系型数据库对比 对比项 mongoDB mysql oracle 表 集合list 二维表 表的一行数据 文档document 一条记录 表字段 键key 字段fi ...
- Mongodb DB shell数据操作
shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的. Ø 数据库 1.Help查看命令提示 help db.help(); db.yo ...
- node.js连接MongoDB数据库,db.collection is not a function完美解决
解决方法一. mongodb数据库版本回退: 这个错误是出在mongodb的库中,在nodejs里的写法和命令行中的写法不一样,3.0的api已经更新和以前的版本不不一样,我们在npm中没指定版本号的 ...
- 快速掌握mongoDB(一)——mongoDB安装部署和常用shell命令
1.mongoDB简介 mongoDB 是由C++语言编写的,是一种分布式的面向文档存储的开源nosql数据库.nosql是Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统 ...
- mongoDB(一)——mongoDB安装部署和常用shell命令
1.mongoDB简介 mongoDB 是由C++语言编写的,是一种分布式的面向文档存储的开源nosql数据库.nosql是Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统 ...
随机推荐
- 提示框框架KVNProgress介绍
gitHub上面有很多显示加载进度的框架,这里我们介绍一下KVNProgress框架,KVNProgress是一个可以完全定制的HUD(指示器),你可以设置加载进度的画面是否全屏,可以自己修改进度显示 ...
- JQ 数组动态添值,对象动态添值,判断数组/对象是否为空
1.数组动态添值 首先声明一个空数组:var data = new Array(); 向数组中添值 :data.push('添加的值'); 示例:
- ReactNative 调用手机地图(高德、百度)导航 Android
由于项目需要,鉴于第三方sdk包的体积略大,经过评估论证后,决定采用调起APP以及网页地图的方式来进行导航. 思路: 在需要调用导航的界面通过原生获取当前手机内可用的导航app组装成列表返回到RN待选 ...
- Chrome浏览器video样式控制-隐藏下载按钮
Chrome浏览器在升级之后 video的样式和之前是不一样的,如果使用原生video的话可能会有影响,实际项目中最好使用第三方插件以保证video在所有浏览器都有统一的样式 一.如何隐藏video的 ...
- mui 图片预览
1. 图片放大滑动预览需要 mui.zoom.js mui.previewimage.js 2. 调用 mui.previewImage(); 3. 滑动过程中禁止图片缩放 注释掉下面代 ...
- VS2012项目中使用CocoStudio相关文件的设置
开发环境说明: win7 vs2012 coco2d-x 3.0 alpha1 cocos2d-x 3.0 alpha 1搭配CocoStudio使用,效果更佳.CocoStudio包含了游戏开发 ...
- 怎样加入cocostudio生成的UI到项目
cocos2dx版本号:cocos2d-x-3.2alpha0 cocostudio版本号:V1.4.0.1 1.将cocostudio生成的UI文件复制到项目Resources目录 2.加入头文件, ...
- 如何编译Linux内核
内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广 大爱好者的支持下,内核版本不断更新.新的内核修订了旧内 ...
- Redis事务为什么不支持回滚
在事务运行期间,虽然Redis命令可能会执行失败,但是Redis仍然会执行事务中余下的其他命令,而不会执行回滚操作,你可能会觉得这种行为很奇怪.然而,这种行为也有其合理之处:只有当被调用的Redis命 ...
- [Android Pro] android root权限破解分析
许 多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简 单及安全的,破解Root权限的原理就是在手机的/s ...