MongoDB简单CRUD场景
MongoDB简单CRUD命令操作
(1)新建数据库:use 数据库名
(2)显示所有数据库:show dbs;
(3)新建集合(两种方式)
隐式创建:在创建集合的同时往集合里面添加数据---db.c1.insert({name:"fuck",age:29});
显式创建:db.createCollection()---db.createCollection("c2")
(4)显示所有集合:show collections;
(5)db命令:db命令表示当前操作的数据库
(6)插入一对key-value:db.c1.insert({name:"fuck",age:22});当数据库没有集合c1时,mongodb会自动创建集合c1
(7)查找某个集合中的所有数据:db.c1.find();
(8)查找某个集合中的特定条件的数据:
单条件查询:db.c1.find({name:"fuck"})
多条件查询:db.c1.find(name:"fuck",age:22)
只关心个别元素的查询db.c1.find({},{"name":1,"_id":0})(即查出来只显示name这个字段)
这里的1表示显示,0表示不显示
(9)for循环插入数据:
for(var i=0;i<10000;i++)
{
db.c1.insert({name:"caonima",age:i})
}
(10)mongodb支持分页:db.c1.find()只会显示前20条数据
(11)查询集合条数:db.c1.find().count()
(12)查询符合条件的第一条文档:db.c1.findOne({name:"fuck"})
(13)查询一个集合中age大于5的所有文档:
db.c1.find({age:{$gt:5}})
大于等于5
db.c1.find({age:{$gte:5}})
小于5
db.c1.find({age:{$lt:5}})
小于等于5
db.c1.find({age:{$lte:5}})
不等于5
db.c1.find({age:{$ne:5}})
(14)分页查询,查询众多结果中的第5到10条
db.c1.find().skip(5).limit(5);
备注:第一个5为开始的序号,后面的5为开始序号后的条数
(15)查询集合中的文档,$all主要用来查询数组中包含关系,查询条件中只要有一个不包含就不返回
db.c1.find({"b": { "$all" : [3,5]}});
{ "_id" : 11, "a" : "5", "b" : [ 5, 3, 7 ] }
{ "_id" : 111, "a" : 1, "b" : [ 3, 5 ] }
(16)查询集合中的文档,$in,类似于关系型数据库中的IN
db.c1.find({age:{$in:[12,45]}})
(17)查询集合中不包含的文档,$nin,与$in相反
db.c1.find({age:{$nin:[12,45]}})
(18)查询集合中或条件的文档,$or,根据条件过滤掉某些数据
db.c1.find({$or:[{name:"fuckyou"},{age:11}]})
(19)查询集合中或条件相反的文档,$nor,根据条件过滤掉某些数据
db.c1.find({$nor:[{name:"fuckyou"},{age:11}]})
(20)查询集合中的文档,$exists,用于查询集合中存在某个键的文档或不存在某个键的文档,例如查询某集合中存在name键的所有文档,可以使用db.集合.find({name:{$exists:1}}),指存在键名为name的文档,exists:1表示真,指存在,exists:0表示假,指不存在。
(21)mongodb中的游标:
var x = db.c1.find()
x.hasNext()
x.next()
(22)更新集合中的文档
db.c1.update({age:33},{$set:{name:"caonima"}})
将age为33的name改为caonima
(23)更新集合语法
db.collectionName.update(param1,param2,param3,param4)
1、需要更新的条件
2、更新的内容的对象
3、如果没有符合条件的记录,是否新增一条记录。1为新增,默认值为0
4、如果有多个符合条件的记录,是否全部更新,(默认值为0),如果全部更新,取值为1
(24)展示mongo语句的扫描条数和查询耗时可调用explain()函数
db.c2.update({"name":"fuck"}).explain()
(25)更新集合中的文档,使用 $inc 将集合中name为user1的age加1,其它键不变, $inc表示使某个键值加指定的数值
db.c2.update({name:"caonima"},{$inc:{age:2}});
(26)更新集合中的文档, $unset 用来删除某个键
db.c2.update({name:"laji"},{$unset:{age:1}},1,0);
1、需要更新的条件
2、更新的内容的对象
3、如果没有符合条件的记录,是否新增一条记录。1为新增,默认值为0
4、如果有多个符合条件的记录,是否全部更新,(默认值为0),如果全部更新,取值为1
(27)删除orders集合的所有数据,集合还存在,索引都还存在
db.c2.remove({})
(28)根据条件删除数据
db.c2.remove({age: 55})
(29)删除集合,集合、索引都不存在了
db.collection.drop()
(30)更多操作详见db.help()
MongoDB简单CRUD场景的更多相关文章
- MongoDB的CRUD操作
1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...
- 【转载】谈MongoDB的应用场景
引用:http://blog.csdn.net/adparking/article/details/38727911 MongoDB的应用场景在网上搜索了下,很少介绍关于传统的信息化应用中如何使用Mo ...
- 谈MongoDB的应用场景
转载自:http://blog.csdn.net/adparking/article/details/38727911 MongoDB的应用场景在网上搜索了下,很少介绍关于传统的信息化应用中如何使用M ...
- MongoDB简单认识
MongoDB 为何物 NoSQL 泛指非关系型数据库,该词是关系型数据库(即 SQL)的相对称呼.MongoDB 是非关系型数据库中较为人熟知的一种. 它拥有很多优秀特性,例如高性能.高可用.支持丰 ...
- java web学习总结(十九) -------------------监听器简单使用场景
一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听器技术来实现这个功能了. 1 package me.gacl.web.listener; 2 3 ...
- MongoDB学习:(二)MongoDB简单使用
MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...
- 使用Struts2和jQuery EasyUI实现简单CRUD系统(转载汇总)
使用Struts2和jQuery EasyUI实现简单CRUD系统(一)——从零开始,ajax与Servlet的交互 使用Struts2和jQuery EasyUI实现简单CRUD系统(二)——aja ...
- mongodb 简单部署方案及实例
mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb 我这里选用rehl 5.6 ...
- .Net Core MongoDB 简单操作。
一:MongoDB 简单操作类.这里引用了MongoDB.Driver. using MongoDB.Bson; using MongoDB.Driver; using System; using S ...
随机推荐
- 【BZOJ】1684: [Usaco2005 Oct]Close Encounter(暴力+c++)
http://www.lydsy.com/JudgeOnline/problem.php?id=1684 这货完全在考精度啊.. 比如奇葩 (llf)a/b*i (llf)(a/b*i)和(llf)( ...
- C语言0长度数组(柔性数组)
0长度数组,又称为柔性数组(flexible array).通经常使用来实现变长数组.常见于TLV(type-length-value)的数据结构中. 在标准 C 和 C++ 中,不同意用 0 长度数 ...
- 整理混乱JS代码。
一. 拷贝到MyEclipse的js文件 内然后 Ctrl+Shift+F 自动格式化代码. 二.百度搜索 :格式化js.
- MTP(Media Transfer Protocol(媒体传输协议))简介
---恢复内容开始--- 1,简单说明 MTP,微软公司规定的新的传输规则(字面本来应该是协议的,但是自己感觉更像是规则,制定了基本上的所有路线,剩下的是你想怎么选择罢了,使用者完全没有可能在它的框架 ...
- stringstream类操作字符串流
C++ Code 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...
- sublime window 配置记录 (转)
大家好,今天给大家分享一款编辑器:sublime text2 我用过很多编辑器,EditPlus.EmEditor.Notepad++.Notepad2.UltraEdit.Editra.Vim ...
- 如何在Myeclipse中启动多个Tomcat
比如:有两个版本的tomcat,一个5.*,一个6.*,此时由于两个工程分别部署在两个版本的tomcat下,需要同时启动两个tomcat,以下是方法: 1.特别要注意: 不要设置CATALINA_HO ...
- c#基础 第三讲
Random r = new Random(); string x, y; while (true) { ...
- DOS和BAT批量提取修改文件名
DOS命令窗口:开始-cmd-回车,进入DOS命令窗口 案例一.获取文件名 dir 1.输入"文件所在盘",回车,如: d: 2.输入"cd 文件夹位置",回车 ...
- js 模拟 select 的 click 事件
法一. 你可以直接通过修改 select 的 size 属性来实现,但是这样比较丑,很明显:原来: 修改 size: 跟原生比丑在两点: 位置上移了 滚动条出现了 法二. 比较好的实现,就是通过 js ...