MongoDB 操作手册CRUD插入

插入操作

插入记录

1.插入一条记录
db.testData.insert({num:1,name:‘a‘}); 结果 WriteResult({ "nInserted" : 1 })

2.查看插入的记录 db.testData.find();

插入数组

1.定义数组 var arr = [{num:1,name:‘a‘},{num:2,name:‘b‘},{num:3,name:‘c‘}];

2.插入记录 db.testData.insert(arr);

结果 nInserted显示插入了几条数据

BulkWriteResult({

"writeErrors" : [ ],

"writeConcernErrors" : [ ],

"nInserted" : 3,

"nUpserted" : 0,

"nMatched" : 0,

"nModified" : 0,

"nRemoved" : 0,

"upserted" : [ ]

})

批量插入多条数据

bulk是2.6的新特性

1.初始化指定集合的批处理操作构造器
var bulk = db.testData.initializeUnorderedBulkOp();  //初始化未排序的批处理操作

这个操作返回一个维护着操作列表的未排序操作构造器。未排序的意思是MongoDB可以同步执行没有顺序的多个操作。

如果期间发生错误,将继续执行后续操作。

也可以构建一个有序的操作构造器,查看db.collection.initializeOrderedBulkOp();

2.将插入操作添加进bulk对象中

bulk.insert({num:4,name:‘d‘});

bulk.insert({num:5,name:‘e‘});

3.执行批处理

bulk.execute();

返回批处理的结果,nInserted表示插入几条,如果期间发生错误,将包含在结果中。

BulkWriteResult({

"writeErrors" : [ ],

"writeConcernErrors" : [ ],

"nInserted" : 2,

"nUpserted" : 0,

"nMatched" : 0,

"nModified" : 0,

"nRemoved" : 0,

"upserted" : [ ]

})

额外的例子和方法

db.collection.update() method,

db.collection.findAndModify(),

db.collection.save()

这几个方法也可以执行插入操作。

时间: 2024-10-10 15:19:29

MongoDB 操作手册CRUD插入的相关文章

MongoDB 操作手册CRUD查询

查询操作 基本查询 查询指定集合中的所有记录 db.testData.find()或者db.testData.find({}); 相等条件查询 db.testData.find({num:5});//查询num=5的记录 使用查询操作符声明多个条件 db.testData.find({num:{$in:[2,3,4]}});查询num为2,3,4的记录. 尽管可以使用$or操作符来执行同样的查询,但是当多个or条件都是在同一字段上的相等判断时,请使用$in而不是$or. and条件查询 db.t

MongoDB 操作手册CRUD 事务 两步提交

执行两步提交 概述 这部分提供了多记录更新或者多记录事务,使用两步提交来完成多记录写入的模板.另外,可以扩展此方法来提供rollback-like功能. 背景 MongoDB对于单条记录的操作是原子性的:但是涉及多条记录的操作却不是原子性的.由于记录可能是相当复杂,并且有内嵌记录,单记录原子性操作提供了实际中常用的必要支持. 除了单记录的原子性操作,还有许多情况需要多记录操作事务,当执行一个包含一些列操作的事务时,就有以下要求: 原子性:如果一个操作失败,事务中之前的操作需要回滚到之前的状态 一

MongoDB 操作手册CRUD 更新 update

修改记录 概述 MongoDB提供了update()方法用于更新记录.这个方法接受以下参数: 一个更新条件的JSON对象用于匹配记录,一个更新操作JSON对象用于声明更新操作,和一个选项JSON对象 声明查询条件,使用和查询一样的结构和语法. 默认情况下,update()更新单条记录,若要更新多条记录, 请使用multi选项. 更新记录中的指定字段 用于更新某个字段的某个值,MongoDB提供了update操作符,比如$set. 在执行更新操作时,一些操作符回创建没有的字段,如$set. 测试数

MongoDB 操作手册CRUD 删除 remove

删除记录 概述 在MongoDB中,db.collection.remove()方法用于删除集合中的记录.可以删除所有记录,删除所有符合条件的记录,或者是仅删除一条记录. 删除所有记录 删除一个集合中的所有记录,只要将一个空的查询对象{}传给remove()方法即可.remove()方法不删除索引. 例:db.testData.remove({}); 使用remove()方法删除一个集合中的所有记录,可能比使用drop()方法删除包含索引的整个集合,再重建集合和索引更高效. 删除符合条件的记录

MongoDB 操作手册CRUD查询指针

枚举遍历指针 概述 前面已经讲过,db.collection.find()如果没有指定给一个var声明的变量,将自动枚举前20条记录. 手动枚举指针 在mongo控制台中,将查询赋给一个var声明的变量,让其不自动枚举. var cur = db.testData.find(); 然后每次调用这个指针,将自动遍历20条 cur; 也可以使用指针的next()方法来获取下一条记录 var cur = db.testData.find(); while(cur.hasNext()) { print(

MongoDB 操作手册CRUD 查询性能分析

分析查询性能 explain() cursor方法允许观察查询系统执行的操作.这个方法对于分析高效查询和决定如何使用索引进行查询是十分有用的.这个方法检测的是查询的操作,而不是查询执行时间.因为这个方法尝试多个查询计划,它并不能准确的反映出查询执行时间. 评估一个查询的性能 使用explain()方法,调用find()返回的指针的该方法即可. 例: 在type字段创建索引 db.testData.ensureIndex({'type':1}); 评估一个在type字段上的查询. db.testD

MongoDB的查询和插入操作

MongoDB是文档型数据库,有一些专门的术语,和关系型DB相似,但也有差异,例如,Collection类似于关系型DB的Table,document类似于row,key/value pair类似于column.document 是使用{}为边界,一个Key/Value对使用“:”分割,key/value pair之间使用“,”分割,例如 user={ name:"sue",age:24 } MongoDB中能够定义document 数组,这对于批量更新和批量插入操作非常有用. use

MongoDB快速入门学习笔记3 MongoDB的文档插入操作

1.文档的数据存储格式为BSON,类似于JSON.MongoDB插入数据时会检验数据中是否有“_id”域,如果没有会自动生成.shell操作有insert和save两种方法.当插入一条数据有“_id”值,并且现在集合中已经有相同的值,使用insert插入时插入不进去,使用save时,会更新数据. 1 > db.student.drop() 2 true 3 > db.student.insert({"_id": 1, "name":"zhang

MongoDB的简单实用-插入操作

插入数据: MongoDB使用insertOne函数插入一条数据 如: 1.先用document指定插入的数据: document = ({"Type":"Book","Title":"Definitive Guide to MongoDB 3rd ed.","ISBN":"978-1-4842-1183-0","Publisher":"Apress&quo