1. use foobar
2. show dbs
3. show collections
4. db.system.indexes.find()
5. db.persons.find()
6. db.persons.insert({name:"extjs4.0"})
7. db.persons.findOne()
8. db.persons.update({name:"extjs4.0"},{$set:{name:"extjs4.1"}})
强硬的文档替换工作:
db.text.update({name:"yfc"},{age:29})
9. var p=db.persons.findOne();
db.persons.update(p,{name:"uspcat"})
10.db.persons.update({age:1},{$set:{age:2}});
如果有两个age为一的话,我们只能修改一个。
11.db.persons.remove({age:2});
12.db.persons.insert({_id:"001",name:"yun"})//自己主动插入_id.
13.db.persons.insert([{name:"34"},{name:"234"}])
这样子插入的话,结果"0":{"name":"34","1":{"name","234"}}
14. 批量插入,
for(var i=0;i<10;i++){
db.persons.insert({name:i})

}
15. save与insert的区别在于,在相同id的情况下,insert回报错。
16.db.persons.remove()
17.db.persons.remove({_id:1})
18.插入或者更新
db.persons.update({查询器},{修改器},true)
19.实现批量修改
db.persons.update({name:3},{$set:{name:"333"}},false,true)
20.
$set 用来指定一个键值对,如果存在键就进行修改,不存在则进行添加。
$inc 只是使用与数字类型,他可以为指定的键对应的数字类型的数值进行加减操作。
$unset 他的用法很简单,就是删除指定的键。
$push 如果指定的键是数组增追加新的数值,如果不存在指定的键则创建数组类型的键值对。
$pushAll 用法和$push相似,可以批量添加数组。
$addToSet 目标数组存在此项则不操作,不存在此项则加进去。
$pop 从指定数组删除一个值,1删除最后一个数值,-1删除第一个数值。
$pull 删除一个被指定的数值。
$pullAll一次性删除多个指定的数值。
$ db.text.update({"books.type":"JS"},{$set:{"books.$.author":"USPCAT"}})

===================================================================
find的用法:
21. db.persons.find({},{name:1,age:1,country:1,_id:0});
22.$lt < $lte <= $gt > $gte >= $ne !=
23. 查询出年龄在25到27岁之间的学生 db.persons.find({age: {$gte:25,$lte:27},{_id:0,age:1})
24.查询出所有不是韩国籍的学生的数学成绩db.persons.find({country:{$ne:” Korea”}},{_id:0,m:1})
============================================================
包含或不包含$in 或$nin
25.查询国籍是中国或美国的学生信息
db.persons.find({country:{$in:[“USA”,“China”]}})
26.查询国籍不是中国或美国的学生信息
db.persons.find({country:{$nin:[“USA”,“China”]}})
==============================================================
or查询$or
27.查询语文成绩大于85或者英语大于90的学生信息
db.persons.find({$or:[{$gte:85}},{e:{$gte:90}}],{_id:0,c:1,e:1})
28.把中国国籍的学生上增加新的键sex
db.person.update({country:”China”},{$set:{sex:”m”}})
29.查询出sex等于null的学生
db.persons.find({sex:{$in:[null]}},{country:1})
==============================================================
30.查询出名字中存在”li”的学生的信息db.persons.find({name:/li/i},{_id:0,name:1})
31.$not可以用到任何地方进行取反操作

查询出名字中不存在”li”的学生的信息

db.persons.find({name:{$not:/li/i}},{_id:0,name:1})

$not和$nin的区别是$not可以用在任何地方儿$nin是用到集合上的
32.数组查询$all和index应用
2.8查询喜欢看MONGOD和JS的学生
db.persons.find({books:{$all:[“MONGOBD”,”JS”]}},{books:1,_id:0})

2.9查询第二本书是JAVA的学习信息

db.persons.find({“books.1”:”JAVA”})
db.persons.find({name:{$not:/li/i}},{_id:0,name:1})
33. .查询指定长度数组$size它不能与比较查询符一起使用(这是弊端)

2.8查询出喜欢的书籍数量是4本的学生

db.persons.find({books:{$size:4}},{_id:0,books:1})
34.查询出喜欢的书籍数量大于3本的学生
1.增加字段size

db.persons.update({},{$set:{size:4}},false, true)
2.改变书籍的更新方式,每次增加书籍的时候size增加1

db.persons.update({查询器},{$push:{books:”ORACLE”},$inc:{size:1}})

3.利用$gt查询

db.persons.find({size:{$gt:3}})
35.利用shell查询出Jim喜欢看的书的数量
var persons = db.persons.find({name:"jim"})
while(persons.hasNext()){

obj = persons.next();

print(obj.books.length)
}
36. 1.mongodb 是NOSQL数据库但是他在文档查询上还是很强大的

2.查询符基本是用到花括号里面的更新符基本是在外面

3.shell是个彻彻底底的JS引擎,但是一些特殊的操作要靠他的
各个驱动包来成(JAVA,NODE.JS)
==================================================================

1.注意在json中name:"3" 与"name":"3"是一样的,但是name:"3"与name:3就不同了。
他不允许后边一个有引号另一个没哟引号。
2.mongo没有事务,本来就不完事务的,事务是原子级的,效率低。
3.couchDB里号称是有事务性的mongodb
因为没用过,所以,你们懂的

***************************************************************************
***************************************************************************

对update 的set的使用

如果没有使用set是这个结果:

如果使用set是这个结果:

********************************************************
********************************************************
1.db.stats();

2.db.persons.help()

3.db-text这个集合不能通过db.[],只能db.getCollection()

4.

1.插入文档 db.[documentName].insert({})

2.批量插入文档 shell 这样执行是错误的 db.[documentName].insert([{},{},{},……..]) shell 不支持批量插入 想完成批量插入可以用mongo的应用驱动或是shell的for循环

3.Save操作 save操作和insert操作区别在于当遇到_id相同的情况下 save完成保存操作 insert则会报错

正确的批量插入数据的方法:

insert和save方法

1.删除列表中所有数据 db.[documentName].remove() 集合的本身和索引不会别删除

2.根据条件删除 db.[documentName].remove({}) 删除集合text中name等于uspcat的纪录 db.text.remove({name:”uspcat”})

3.小技巧 如果你想清楚一个数据量十分庞大的集合 直接删除该集合并且重新建立索引的办法 比直接用remove的效率和高很多。使用drop方法。

*************************

insert如果输入的'_id'相同的话,是不能插入的。

如果update含有第三个参数为true的话,那么没有表示insertorupdate,没有的话插入。

update只更新最第一个相似的

批量更新:

******************************************
******************************************

$set的用法:如果有这个属性就更改,如果没有就添加。

inc

unset

push

pushAll

addToSet

使用修改器来完成局部更新操作

数组定位器的用法:

$修改器是放在外层的,而$查询器是放在内层。

6. $addToSet与$each结合完成批量数组更新 db.text.update({_id:1000},{$addToSet:{books:{$each:[“JS”,”DB”]}}}) $each会循环后面的数组把每一个数值进行$addToSet操作

7.存在分配与查询效率 当document被创建的时候DB为其分配没存和预留内存当修改操作 不超过预留内层的时候则速度非常快反而超过了就要分配新的内存 则会消耗时间

8. runCommand函数和findAndModify函数 runCommand可以执行mongoDB中的特殊函数 findAndModify就是特殊函数之一他的用于是返回update或remove后的文档 runCommand({“findAndModify”:”processes”, query:{查询器}, sort{排序}, new:true update:{更新器}, remove:true }).value ps = db.runCommand({ "findAndModify":"persons", "query":{"name":"text"}, "update":{"$set":{"email":"1221"}}, "new":true }).value do_something(ps) http://www.cppblog.com/byc/archive/2011/07/15/151063.aspx

9. mongo的查询

第一个对象{}表示查询所有的,id:0 表示不显示id,其余的后边都是1表示该属性显示。

10.

mongo 增删改查的更多相关文章

  1. mongo增删改查封装(C#)

    Framework版本:.Net Framework 4 ConnectionUtil源码参见:https://www.cnblogs.com/threadj/p/10536273.html usin ...

  2. 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查

    一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...

  3. MongoDB基础入门002--基本操作,增删改查

    一.这里只是演示最基本的操作,更多的信息可以去官网.https://docs.mongodb.com/manual 打开一个cmd,输入mongo命令打开shell,其实这个shell就是mongod ...

  4. Java连接MongoDB进行增删改查

    1.导入必须的包: 详情看项目:http://pan.baidu.com/s/1cvDAOY 2.通过Myeclipse创建WEB项目 3. 3.bean:创建实体类 package com.bean ...

  5. MongoDB 3.0.6 安装 增删改查

    下载 安装包MSI http://yunpan.cn/cmhHdTPkXZRM2  访问密码 9b6c 上边提供的是 MongoDB 3.0.6 64Bit 的安装包 安装 如果不想直接安装在C盘.. ...

  6. Mongodb c#增删改查

    写在前面 最近项目需要,就研究了下mongodb,也是为了快速上手,就自己弄了一个简单的例子,这里记录一下. Mongodb 传统的关系数据库一般由数据库(database).表(table).记录( ...

  7. mongoDB4--mongoDB的增删改查

    MongoDb基本操作之增删改查我们知道传统关系型数据库的最常用操作就是"增加/删除/修改/查询",也就是传说中的CRUD(create/remove/updte/delete). ...

  8. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  9. Scala对MongoDB的增删改查操作

    =========================================== 原文链接: Scala对MongoDB的增删改查操作 转载请注明出处! ==================== ...

随机推荐

  1. Oracle卸载之linux快速卸载rac脚本-一键卸载

    #!/bin/bash#Usage:Log on as the superuser('root') on node1,node2 cd /u01/app/11.2.0/grid/bin./crsctl ...

  2. AIX安装CDE,CDE服务开启和关闭

    1.将AIX的光盘镜像通过ftp工具上传至/mnt目录下,如下图: 2.创建目录/media作为默认的AIX光盘挂载区 # mkdir /media 3.将AIX的第一张光盘挂载到/media目录下: ...

  3. Why Choose Jetty?

    https://webtide.com/why-choose-jetty/ Why Choose Jetty?   The leading open source app server availab ...

  4. Python爬虫基础(一)urllib2库的基本使用

    爬虫也就是所谓的网络数据采集,是一种通过多种手段收集网络数据的方式,不光是通过与 API 交互(或者直接与浏览器交互)的方式.最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用 HTML 表 ...

  5. Python开发【Tornado】:异步Web服务(二)

    真正的 Tornado 异步非阻塞 前言: 其中 Tornado 的定义是 Web 框架和异步网络库,其中他具备有异步非阻塞能力,能解决他两个框架请求阻塞的问题,在需要并发能力时候就应该使用 Torn ...

  6. Day03 javascript详解

    day03 js 详解 JavaScript的基础 JavaScript的变量 JavaScript的数据类型 JavaScript的语句 JavaScript的数组 JavaScript的函数 Ja ...

  7. day18(JDBC事务&连接池介绍&DBUtils工具介绍&BaseServlet作用)

    day18总结 今日思维导图: 今日内容 事务 连接池 ThreadLocal BaseServlet自定义Servlet父类(只要求会用,不要求会写) DBUtils à commons-dbuti ...

  8. android 控件加圆角

    1.新建一个radius_border.xml <shape xmlns:android="http://schemas.android.com/apk/res/android&quo ...

  9. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  10. Elasticsearch查询规则(一)match和term

    es种有两种查询模式,一种是像传递URL参数一样去传递查询语句,被称为简单搜索或查询字符串(query string)搜索,比如 GET /megacorp/employee/_search //查询 ...