MongoDB_ Mongo数据库增删查改shell操作命令
2016-07-31 22:58
459 查看
公司的一些后端,用的是MongoDB数据库,之前都没听说过...
上网查了下,感觉还挺好玩的...
整理了一些常用的 MongoDB shell 命令....
怕自己以后会忘记....
我在自己的电脑上装了MongoDB数据库,Windos系统...没办法,公司的数据库不能乱搞...
怎么安装MongoDB , 这里我就不说了..自己去百度谷歌....
下面的那个启动MongoDB数据库,是看自己的配置的,别乱来...嘿嘿...
我看得比较浅..不深入...
想深入了解的话...看看这两个文档吧..
一个是MongoDB权威指南,另一个是MongoDB2.4 的权威文档.
MongoDB权威指南+MongoDB官方文档
上网查了下,感觉还挺好玩的...
整理了一些常用的 MongoDB shell 命令....
怕自己以后会忘记....
我在自己的电脑上装了MongoDB数据库,Windos系统...没办法,公司的数据库不能乱搞...
怎么安装MongoDB , 这里我就不说了..自己去百度谷歌....
下面的那个启动MongoDB数据库,是看自己的配置的,别乱来...嘿嘿...
我看得比较浅..不深入...
想深入了解的话...看看这两个文档吧..
一个是MongoDB权威指南,另一个是MongoDB2.4 的权威文档.
MongoDB权威指南+MongoDB官方文档
1.启动MongoDB数据库 mongod.exe --dbpath D:\MongoDB\db 启动数据库之后,才可以启动自带的 Shell (mongo.exe) 在 MongoDB 中基本的概念是文档,集合,数据库. 基本概念 SQL术语 MongoDB术语 解释说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table joins 表连接,MongoDB不支持 primary key primary key 主键,MongoDB自动将_id字段设置为主键. 一个MongoDB中可以建立多个数据库 MongoDB的默认数据库为"db",该数据库存储在db目录中. MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中. 插入: insert函数添加一个文档到集合里面. 首先可以创建一个局部变量post,然后用insert存入表中. 例如: post = { "title":"My Blog Post", "content":"Here's my blog post", "date": new Date() } db.myblog.insert(post) 当然了,你也可以这么写: db.user.insert({"name":"Java","age":0}) db.user.insert({"name":"C++","age":1}) db.user.insert({"name":"C--","age":2}) db.user.insert({"name":"Python","age":3}) db.user.insert({"name":"JavaScript","age":4}) db.user.insert({"name":"AngularJs","age":5}) db.user.insert({"name":"jQuery","age":6}) db.user.insert({"name":"Go","age":7}) db.user.insert({"name":"IOS","age":8}) db.user.insert({"name":"Android","age":9}) db.user.insert({"name":"ExtJs","age":10}) db.user.insert({"name":{"first":"Json","last":"Boume"},"age":11}) 数组: db.food.insert({"fruit":["apple","banana","peach"]}) db.food.insert({"fruit":["apple","kumquat","orange"]}) db.food.insert({"fruit":["cherry","banana","apple"]}) db.food.insert({"fruit":["apple","banana"]}) 向数据库插入数据,没有指定ID,mongodb会自动添加一个全局唯一的ID 查询: 普通查询 db.user.find(); //查询user表下所有的数据,shell默认显示20条 db.user.findOne(); //查看user表下的一条数据 db.user.find().count(); //查看user表中有多少条数据 db.user.find({"name":"Java"})//查询name对应的数据 db.user.find({"name":"Java","age":0})//多条件查询,每个条件的关系是 "and" db.user.find({},{"name":1}) //指定返回的键,此处指定返回"name" db.user.find({},{"name":1,"_id":0}})//指定返回符合的"name",并且屏蔽"_id"字段(不屏蔽,每次查询默认出现) db.user.find({},{"name":1,"age":1,"_id":0})//指定返回"name","age"两个字段,并且屏蔽"_id"字段 条件查询(函数) "$lt" : 小于 db.user.find({"age":{"$lt":5}}) //查询 age小于5 的数据 (不包含5) "$lte" : 小于等于 db.user.find({"age":{"$lte":5}})//查询 age小于等于5 的数据 "$gt" : 大于 db.user.find({"age":{"$gt":5}}) //查询 age大于5 的数据 (不包含5) "$gte" : 大于等于 db.user.find({"age":{"$gte":5}})//查询 age大于等于5 的数据 "$ne" : 不相等 (取反值) db.user.find({"age":{"$ne":5}}) //查询 age不等于5 的数据 "in" : 用来查询一个键的多个值 (支持不同的数据类型) db.user.find({"age":{"$in":[0,1,2]}}) //查询user表,age字段为0,1,2的数据 "nin" : 返回与查询条件不匹配的数据("$in"的反义) db.user.find({"age":{"$nin":[1,2]}}) //显示"age"不为1,2的所有数据 "or" : 不用解释,"or"接受一个包含所有可能条件的数组作为参数 db.user.find({"$or":[{"age":{"$in":[1,2]}},{"name":"ExtJs"}]}) //查询age为1,2 name为ExtJs的数据. 组合查询 : db.user.find({"age":{"$lt":5,"$gt:0"}}) "limit" : 限制结果数量(指定上限,而非下限) //查询的全部数据中,只显示前面5条数据. db.user.find().limit(5) //不加"limit(5)",会显示全部的数据,加上之后,就显示前五条. "skip" : 限制结果数量(指定下限,而非上限) //查询全部数据中,不显示前面的三条,3条数据之后的数据. db.user.find().skip(3) //查询全部数据后,显示从开始三条数据之后的数据.(丢弃前三条) "sort" : 升序/降序 (-1:降序/从大到小 , 1:升序/从小到大) db.user.find().sort({"age":-1}) //降序 db.user.find().sort({"age":1}) //升序 //按照name升序,age降序 db.user.find().sort({"name":1,"age":-1}) 日期类型查询 (模拟 查找2007/1/1 前注册的数据) start = new Date("01/01/2007") db.user.find({"registered":{"$lt":start}}) 数组查询: db.food.find({"fruit":"apple"}) $all : 通过多个元素来匹配数组 这个函数,没有双引号!! db.food.find({"fruit":{$all:["apple","banana"]}}) //查询既有"apple"又有"banana"的数据 "$size" : 可以使用其查询指定长度的数组. db.food.find({"fruit":{"$size":2}}) 查询内嵌文档 db.user.insert({"name":{"first":"Json","last":"Boume"},"age":11}) 查询 : db.user.find({"name.first":"Json"}) //查询"name"下面,"first"为"Json"的数据. db.user.find({"name.first":"Json","name.last":"Boume"}) 聚合 : "count()" : 放回当前表中文档的数量. db.user.find().count() //返回user表中,文档的数量. "distinct" : 用来找出给定键的不同的值.(去重复) db.runCommand({"distinct":"user","key":"age"}) //runCommand是关键字,distinct对应的是表名,key对应的是指定的键. 更新: //update最少接收两个参数,第一个是要更新文档的限定条件.第二个是新的文档. //假设咱们要给文档新增一个值,则需要增加一个新的键. post = [] db.myblog.update({"title":"My Blog Post"},post) 删除: db.user.remove({"name":"Java"}) //删除name为"Java"的数据 db.user.remove(); //这个命令会删除user集合中的所有的文档,但不会删除集合本身 db.user.remove({}); //最新版本报错,试了下,换种写法 db.myblog.drop() //删除myblog表
相关文章推荐
- MongoDB mongo shell,常用的操作命令,GUI客户端
- MongoDB创建表步骤,Mongo常用的数据库操作命令,查询,添加,更新,删除_MongoDB 性能监测
- MongoDB创建表步骤,Mongo常用的数据库操作命令,查询,添加,更新,删除_MongoDB 性能监测
- MongoDB_02之使用shell命令实现对数据库的操作
- MongoDB(2)shell命令操作数据库
- MongoDB创建表步骤,Mongo常用的数据库操作命令,查询,添加,更新,删除_MongoDB 性能监测
- MongoDB(2)shell命令操作数据库 2查询
- MongoDB创建表步骤,Mongo常用的数据库操作命令,查询,添加,更新,删除_MongoDB 性能监测
- MongoDB 基础命令——数据库表的增删改查——遍历操作表中的记录
- 【转载】Using SQLite from Shell in Android(在shell 下使用sqlite命令操作数据库)
- ESql标签(对数据库进行增删查改及命令操作)
- MongoDB 在windows shell环境下的基本操作和命令的使用示例(五)
- MongoDB 在windows shell环境下的基本操作和命令的使用示例(三)
- MongoDB操作数据库的几个命令(自己用)
- MongoDB数据库的基本操作命令
- 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查
- hbase基本操作(shell 命令,如建表,清空表,增删改查)
- MongoDB 在windows shell环境下的基本操作和命令的使用示例(二)
- mongodb的命令行操作命令详解(增删改查、高级查询)
- mongodb安装及数据库命令操作