首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MongoDB 学习笔记

约定在 shell 以 -- 开始注释说明信息:执行时请不要赋值注释信息。 -- 1....查看 blog 库所有集合, 由于是空数据库所以会没有返回信息 > show collections -- 10 查看 blog 库状态,由于是空数据库所以统计信息内相关数据为空 > db.stats...这是因为: 在 MongoDB 接收第二个参数,如果没有使用 $set 修饰符,将会采取 覆盖 文档操作,而不是 更新文档指定域,这和 SQL UPDATE 语句行为不一样。...删除所有用户 > db.users.find() > db.users.remove() > db.users.find() 相关细节可以查阅 删除文档。...之前,我们都是返会所有的域信息,现在让我们仅返回用户用户名、年龄和性别: > db.users.find({}, {name: true, age: true, gender: true}) { "_

1.6K10

【翻译】MongoDB指南CRUD操作(一)

mongo shell如果一个游标没有赋给一个var变量,那么游标自动迭代20次以打印查询结果前20个文档。...示例集合 在mongo shell,使用db.collection.find()来检索本页集合,如果一个游标没有赋给一个var变量,那么游标自动迭代20次以打印查询结果前20个文档。...在mongo shell执行下面的语句来填充users 集合。 注: 如果在集合users ,已有文档_id字段值和待插入文档_id字段值相同,那么要先将集合users删除。...mongo shell迭代游标 db.collection.find() 方法返回游标,为了使用文档,你需要迭代游标。...没有索引情况下,如果查询包含排序操作,服务器要将所有文档加载到内存以执行排序。

5.4K90
您找到你想要的搜索结果了吗?
是的
没有找到

mongoDB 文档删除

mongoDB文档删除等同于关系型数据库删除满足条件单条或者多条记录,通常使用db.collection.remove()方法来实现文档删除动作。...删除满足匹配条件所有文档 单个或集合内所有文档删除,与之相应索引并不会被删除 文档删除操作属于原子性操作,仅仅在单个文档级别,可以理解为关系型数据库行级锁 2、语法..._parseRemove@src/mongo/shell/collection.js:406:1 DBCollection.prototype.remove@src/mongo/shell/collection.js...:433:18 @(shell):1:1 > db.users.find({status:"D"}).count() 2 > db.users.createIndex...}) //此时查看集合,已经无文档返回 > db.users.find() //查看索引,索引依旧存在,尽管没有任何文档 > db.users.getIndexes

1.5K10

MongoDB 常用命令

Mongo还可以解决海量数据查询效率,根据官方文档,当数据量达到50GB以上数据时,Mongo数据库访问速度是MySQL10 倍以上。...BSON BSON是Binary JSON 简称,是一个JSON文档对象二进制编码格式。BSON同JSON一样支持往其它文档对象和数组再插入文档对象和数组,同时扩展了JSON数据类型。..., 0]}}}); #返回部分字段  选择返回age和_id字段(_id字段总是会被返回db.users.find({}, {age:1});  db.users.find({}, {age:3}...);  以年龄降序desc  db.users.find().sort({age: -1}); 限制返回记录数量limit()  返回5条记录  db.users.find().limit(5);  返回...5,而是user表中所有的记录数量  db.users.find().skip(10).limit(5).count();  如果要返回限制之后记录数量,要使用count(true)或者count(非

2.2K51

mongoDB 文档查询

在关系型数据库,可以实现基于表上各种各样查询,以及通过投影来返回指定列。对于NoSQL mongoDB而言,所有能够在单表上完成查询,在mongoDB也可以完全胜任。...预备热身 Linux下快速安装MongoDB Windows平台下安装MongoDB mongoDB 启动与停止 mongo shell连接到mongoDB及shell提示符下执行js脚本...sort 等方式控制返回结果集 缺省情况下,在mongo shell对于未使用将结果集返回给变量情形下,仅返回前20条记录 注:本文描述中有些地方使用到了文档键值对,称为键和值,...1 or true 显示该字段 0 or false 不显示该字段 1、限制返回列 //查询结果显示字段name及status,缺省情况下,文档_id列会被返回 > db.users.find...,注,以下查询,不存在name列文档_id:901也被返回 > db.users.find( { name: null } ) { "_id" : 900, "name" : null

3.1K20

【翻译】MongoDB指南CRUD操作(二)

如果匹配到文档,那么此操作将修改或者替换匹配到一个或多个文档。 1.3示例集合 本页例子在mongo shell中使用db.collection.find() 方法。...在mongo shell,如果没有将游标赋给一个var类型变量,那么游标将会自动迭代20次以打印结果集中前20个文档。 在mongo shell执行下面的语句,将数据灌入users 集合。...原子性 MongoDB中所有写操作在单文档级别具有原子性。 2.3示例集合 本页提供了在mongo shell中使用删除操作例子。...在mongo shell执行下面语句,向集合users 灌入数据。...默认地,执在行查询操作时,MongoDB使用“local”读关注来返回可用MongoDB实例上最新数据。即使数据没有被保存在副本集主成员并且可能已经回滚。

2.4K80

mongo中游标

1.手动循环访问游标     mongo我们常用查询方式db.collection.find()方法其实返回就是游标,只不过我们并未给返回游标分配变量,我们所看到查询数据也就是游标自动迭代得出...(在shell自动迭代20次).下面便使用手动迭代游标 db.users.insert([{name:1},{name:2},{name:3}]) 然后使用变量来接收返回游标 var myCursor...= db.users.find()  然后我们再次调用myCursor即可输出 ?  ...,可以使用toArray()方法来迭代游标并返回数组中文档 注意:toArray()方法会完成迭代,所以游标会耗尽 var arrdoc = myCursor.toArray() for(var...i = 0;i<arrdoc.length;i++) { printjson(arrdoc[i]) } 2.查询游标保留文档数   mongoobjsLeftInBatch()方法可以查询由表中保留文档

1.4K20

如何在shell下使用JavaScript和Mongodb交互?

Mongodb客户端支持 作为一款非常成熟NoSQL数据库,Mongdb对各种编程语言支持已经非常完善了,目前已经支持各大主流编程语言包括: 1mongo shell 2,python...3,java 4,c# 5,node.js 6,c++ 在这些语言里面,最简单,最轻巧就莫属mongo shell了,无须任何其他依赖环境,只需要一个mongo客户端,就可以连接本地...Mongodb包结构介绍 1mongo核心脚本进程 mongo ->mongo交互式shell mongod -> 数据库进程 mongos -> 查询路由控制器 2,二进制导入导出工具...假如我们现在有一个需求,读取某个mongo一个表,然后清洗相关字段,再输入到一个本地文件里面,如何用js完成,封装逻辑?...定义js如下: Java代码 //查询一个表实例所有数据,得到一个游标 var cursor=db.collection1.table1.find(); cursor.forEach

1.8K50

mongodb启动和使用

/mongo MongoDB shell version: 2.6.4 connecting to: test > 安装成功!...,一个叫foo集合,并非真正意义上命令 db.foo.find():对于当前数据库foo集合进行数据查找(由于没有条件,会列出所有数据) db.foo.find( { a : 1 } ):对于当前数据库...foo集合进行查找,条件是数据中有一个属性叫a,且a值为1 MongoDB没有创建数据库命令,但有类似的命令。...(); 4、显示当前db所有聚集索引状态 db.printCollectionStats(); 用户相关 1、添加一个用户 db.addUser("name"); db.addUser("userName...参数 详解 默认值 query 查询过滤条件 {} sort 如果多个文档符合查询过滤条件,将以该参数指定排列方式选择出排在首位对象,该对象将被操作 {} remove 若为true,被选中对象将在返回前被删除

1.4K80

Linux系统下MongoDB简单安装与基本操作

/mongo MongoDB shell version: 2.6.4 connecting to: test > 安装成功!...,foo指的是当前数据库下,一个叫foo集合,并非真正意义上命令 db.foo.find():对于当前数据库foo集合进行数据查找(由于没有条件,会列出所有数据) db.foo.find(...{ a : 1 } ):对于当前数据库foo集合进行查找,条件是数据中有一个属性叫a,且a值为1 MongoDB没有创建数据库命令,但有类似的命令。...(); 4、显示当前db所有聚集索引状态 db.printCollectionStats();   用户相关   1、添加一个用户 db.addUser("name"); db.addUser(...参数 详解 默认值 query 查询过滤条件 {} sort 如果多个文档符合查询过滤条件,将以该参数指定排列方式选择出排在首位对象,该对象将被操作 {} remove 若为true,被选中对象将在返回前被删除

2.2K30

MongoDB权威指南学习笔记(1)--基础知识与对文档增删改查

Mongo 基础知识与对文档增删改查 基础知识 文档 文档就是键值对一个有序集,例如 {"greeting":"hello"} 文档值可以时多种不同数据类型;文档键时字符串,但有少数例外情况...指定机器名和端口,就可以连接不同机器 $ mongo some-host:30000/myDB 使用shell执行脚本 在shell传递脚本 $ mongo script.js 使用laod(..._id不能重复 在批量插入遇到错误时,可以使用continueOnError选项忽略错误并继续执行后续插入,但在shell并不支持,在驱动可以执行 插入校验 mongo只对数据进行最基本检查,检查文档基本结构...能够在一个操作返回匹配结果并进行更新 查询 find 指定需要返回键 有时并不需要将文档所有键/值对都返回,可以通过find(或findOne)第二个参数来指定想要键。...db.users.find({},{ "username":1, "email":1 }) 如果不指定”_od”是否返回,”_id”是默认呗返回 既然可以选择需要键,当然也可以排除查询结果某些键值对

5.5K10

Linux下Mongodb部署应用梳理

2)动态查询:Mongo支持丰富查询表达式。查询指令使用JSON形式标记,可轻易查询文档内嵌对象及数组。 3)完整索引支持:包括文档内嵌对象及数组。...这样,db 就从原来 test,变为现在 wangshibo 数据库,如果没有这个库,就会自动创建 2.3 查看当前数据库所有集合 > show collections persons test...是,如果 upsert 为 true,那么在没有找到符合更新条件情况下,mongo 会在集合插入 一条记录其值满足更新条件记录(其中字段只有更新条件涉及字段,字段值满足 更新条件),然后将其更新...db.getCollectionNames(); 4、显示当前db所有聚集索引状态 db.printCollectionStats(); 三、用户相关 1、添加一个用户 db.addUser(...():显示集合操作命令,同样有很多命令,foo指的是当前数据库下,一个叫foo集合,并非真正意义上命令 db.foo.find():对于当前数据库foo集合进行数据查找(由于没有条件,会列出所有数据

5K80

MongoDB基础之入门

每种编程语言表示文档方法不太一样。 1.BSON文档特点 1.文档键值对是有序。通常文档中键顺序并不重要。 2.文档值可以是MongoDB包含所有数据类型。...更改字段名称可能会导致文档字段顺序重新排序。 2.6版本开始MongoDB主动保留文档字段顺序,2.6之前MongoDB没有主动保留文档字段顺序。 4....2、集合 集合就是一组文档合集。集合类似于关系型数据库表。 1.无模式 集合是无模式,也就是说一个集合里面的文档可以是各式各样。MongoDB对此没有做强制要求,让开发者更灵活。...1.运行Shell 启动Shell命令如下: mongo shell会在启动时自动连接MongoDB服务器,所以在shell启动之前要保证mongod已经启动。...该方法接受一个可选查询选择器,只删除那些匹配选择器文档。如果没有提供选择器,就删除集合所有文档

1.1K10

MongoDB基础之入门

每种编程语言表示文档方法不太一样。 1.BSON文档特点 1.文档键值对是有序。通常文档中键顺序并不重要。 2.文档值可以是MongoDB包含所有数据类型。...更改字段名称可能会导致文档字段顺序重新排序。 2.6版本开始MongoDB主动保留文档字段顺序,2.6之前MongoDB没有主动保留文档字段顺序。 4....2、集合 集合就是一组文档合集。集合类似于关系型数据库表。 1.无模式 集合是无模式,也就是说一个集合里面的文档可以是各式各样。MongoDB对此没有做强制要求,让开发者更灵活。...1.运行Shell 启动Shell命令如下: mongo shell会在启动时自动连接MongoDB服务器,所以在shell启动之前要保证mongod已经启动。...该方法接受一个可选查询选择器,只删除那些匹配选择器文档。如果没有提供选择器,就删除集合所有文档

94830

mongoDB 文档插入

在关系数据库,我们需要先定义表,然后才能将记录插入到文档,而在mongoDB,由于无需预定义模式,因此,在集合不存在情形下,直接insert就会生成新集合。...预备热身 Linux下快速安装MongoDB Windows平台下安装MongoDB mongoDB 启动与停止 mongo shell连接到mongoDB及shell提示符下执行js...则自动创建该集合,否则直接插入文档 mongoDB中所有的插入操作都属于单个文档级别的原子性操作,即相当于关系型数据库行级锁 mongoDB在文档插入时候,如果未显示指定_id列,则会自动添加该列...“n” : 3 } //上面使用runCommand方式插入了3个文档返回状态OK为1,表明插入成功,n值为3,即3个文档。...//查看集合users下所有文档,如下 //从返回结果可以看出,集合users下文档有不同key,即所谓无模式 db.users.find() { “_id” : ObjectId

95830
领券