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":"zhangsan", "age": 28})
 4 WriteResult({ "nInserted" : 1 })
 5 > db.student.find()
 6 { "_id" : 1, "name" : "zhangsan", "age" : 28 }
 7 > db.student.insert({"_id": 1, "name":"zhangsan", "age": 27})
 8 WriteResult({
 9         "nInserted" : 0,
10         "writeError" : {
11                 "code" : 11000,
12                 "errmsg" : "E11000 duplicate key error collection: zyhdb.student index: _id_ dup key: { : 1.0 }"
13         }
14 })
15 > db.student.find()
16 { "_id" : 1, "name" : "zhangsan", "age" : 28 }
17 > db.student.save({"_id": 1, "name":"zhangsan", "age": 27})
18 WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
19 > db.student.find()
20 { "_id" : 1, "name" : "zhangsan", "age" : 27 }

2、批量插入,网上的文档都说不能MongoDB不支持批量插入,现在试过可以,应该是目前的版本支持批量插入了。

 1 > db.student.insert([{"_id": 2, "name": "lisi"},{"_id": 3, "name": "wangwu"}, {"_id": 4, "name": "zhaoliu", "age": 28}])
 2 BulkWriteResult({
 3 "writeErrors" : [ ],
 4 "writeConcernErrors" : [ ],
 5 "nInserted" : 3,
 6 "nUpserted" : 0,
 7 "nMatched" : 0,
 8 "nModified" : 0,
 9 "nRemoved" : 0,
10 "upserted" : [ ]
11 })
12 > db.student.find()
13 { "_id" : 1, "name" : "zhangsan", "age" : 27 }
14 { "_id" : 2, "name" : "lisi" }
15 { "_id" : 3, "name" : "wangwu" }
16 { "_id" : 4, "name" : "zhaoliu", "age" : 28 }

3、循环插入:

 1 > for(var i=0; i<10; i++){db.fortest.insert({num: i})}
 2 WriteResult({ "nInserted" : 1 })
 3 > db.fortest.find()
 4 { "_id" : ObjectId("57469e80142cea1d9aeabab5"), "num" : 0 }
 5 { "_id" : ObjectId("57469e80142cea1d9aeabab6"), "num" : 1 }
 6 { "_id" : ObjectId("57469e80142cea1d9aeabab7"), "num" : 2 }
 7 { "_id" : ObjectId("57469e80142cea1d9aeabab8"), "num" : 3 }
 8 { "_id" : ObjectId("57469e80142cea1d9aeabab9"), "num" : 4 }
 9 { "_id" : ObjectId("57469e80142cea1d9aeababa"), "num" : 5 }
10 { "_id" : ObjectId("57469e80142cea1d9aeababb"), "num" : 6 }
11 { "_id" : ObjectId("57469e80142cea1d9aeababc"), "num" : 7 }
12 { "_id" : ObjectId("57469e80142cea1d9aeababd"), "num" : 8 }
13 { "_id" : ObjectId("57469e80142cea1d9aeababe"), "num" : 9 }
时间: 2024-10-22 07:46:11

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

MongoDB快速入门学习笔记7 MongoDB的用户管理操作

1.修改启动MongoDB时要求用户验证加参数 --auth 即可.现在我们把MongoDB服务删除,再重新添加服务 mongod --dbpath "D:\work\MongoDB\data" --logpath "D:\work\MongoDB\log\mongodb.log" --install --serviceName "MongoDB" --auth 2.创建用户,并使用创建的用户登录打开shell操作界面,默认test数据,再查看所

MongoDB快速入门学习笔记5 MongoDB的文档修改操作

db.集合名称.update({query},{update},upsert, multi})query:过滤条件update:修改内容upsert:如果不存在查询条件查出的记录,是否插入一条数据,默认是falsemulti:是否只修改查询条件查出的第一条记录,默认是false > db.student.update({_id:1}, {name:"zhang"}) WriteResult({ "nMatched" : 1, "nUpserted&q

MongoDB快速入门学习笔记8 MongoDB的java驱动操作

import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; import com.mongodb.client.FindIterable;

MongoDB快速入门学习笔记4 MongoDB的文档查询操作

先把student删除,再重新插入数据 > db.student.drop() true > db.student.insert([{ "_id" : 1, "name" : "zhangsan", "age": 27, "sex": 1 }, { "_id" : 2, "name" : "lisi", "age":

MongoDB快速入门学习笔记1 windows安装MongoDB

1.安装MongoDB 从MongoDB官网上下载MongoDB,我下载的版本是64位的3.2.6.下载完以后直接安装,我的安装目录是D:\work\MongoDB. 2.配置MongoDB的环境变量 在PATH中添加D:\work\MongoDB\Server\3.2\bin.(配置环境变量是为了更加方便的执行bin下的命令) 3.启动MongoDB 启动MongoDB的时候使用mongod命令,--dbpath 设置数据库的路径,--logpath 设置日志文件的路径 mongod --db

Qt快速入门学习笔记(基础篇)

本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&tid=193.参考书为基于该系列教程<Qt Creator快速入门>和<Qt及Qt Quick开发实战精解> 1.关联Qt库.如果是分别安装的Qt Creator和Qt库,而不是安装集成Qt Creator和Qt库的SDK,则需要手动关联Qt库.打开工具→选项菜单,然后选择“构建

Sass快速入门学习笔记

1. 使用变量; sass让人们受益的一个重要特性就是它为css引入了变量.你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值.或者,对于仅使用过一 次的属性值,你可以赋予其一个易懂的变量名,让人一眼就知道这个属性值的用途. sass使用$符号来标识变量(老版本的sass使用!来标识变量.改成$是多半因为!highlight-color看起来太丑了.),比如$highlight-color和$sidebar-width.为什么选择$ 符号呢?因为它好认

Python学习笔记__8.4章 文档测试

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 在文档中编写规范的注释代码.则Python内置的"文档测试"(doctest)模块可以直接提取注释中的代码并执行测试. 1.1.以abs()函数为例: #abs.py def abs(n): ''' # 两个为一对,换行输入 Function to get absolute value of number.  # 简单的介绍 Example: >>> abs(1)   # 测试 1 >>>

《DOM Scripting》学习笔记-——第八章 充实文档的内容

本章内容 一.一个为文档创建"缩略词语表"的函数 二.一个为文档创建"文献来源链接"的函数 三.一个为文档创建"快速访问键清单"的函数 利用DOM动态的收集和创建一些有用的辅助信息,并把它们呈现在网页上的基本思路: 1.把隐藏在属性里的信息检索出来(遍历.提取) 2.把这些信息动态的创建为一些html内容(创建元素节点.将内容插入元素节点) 3.把这些html内容插入到文档里(追加) Html代码: 1 <!DOCTYPE html PUB