登陆数据库
mongo
语法
show databases;
use 数据库名
如果切换到一个没有的数据库,例如use admin2
,那么会隐式创建这个数据库。(后期当该数据库有数据时,系统自动创建)
use admin2
show collections
db.createCollection('集合名')
db.集合名.drop()
use
语法选择数据db.dropDataBase()
删除数据库db.集合名.insert(JSON数据)
如果集合存在,那么直接插入数据。如果集合不存在,那么会隐式创建。
在test2数据库的c1集合中插入数据(姓名叫webopenfather年龄18岁) use test2 db.c1.insert({uname:"webopenfather",age:18})
_id
键_id
键的组成
_id
可以,只需要给插入的JSON数据增加_id键即可覆盖(但实战强烈不推荐)
db.c1.insert({_id:1, uname:"webopenfather", age:18})
db.集合名.find(条件[,查询的列])
条件 | 写法 |
---|---|
查询所有的数据 | {}或者不写 |
查询age=6的数据 | {age:6} |
既要age=6又要性别=男 | {age:6,sex:'男'} |
查询的列(可选参数) | 写法 |
---|---|
查询全部列(字段) | 不写 |
只显示age列(字段) | {age:1} |
除了age列(字段)都显示 | {age:0} |
其他语法
db.集合名.find({
键:{运算符:值}
})
运算符 | 作用 |
---|---|
$gt | 大于 |
$gte | 大于等于 |
$lt | 小于 |
$lte | 小于等于 |
$ne | 不等于 |
$in | in |
$nin | not in |
系统的_id
无论如何都会存在
db.集合名.update(条件,新数据[是否新增,是否修改多条,])
true
是插入,false
否不插入默认)
db.c3.update({uname:"zs30"},{$set:{age:30}},true)true
是,false
否默认)
db.c3.update({uname:"zs2"},{$set:{age:30}},false,true)准备工作
use test2;
for(var i = 1; i<= 10; i++){
db.c3.insert( {"uname":"zs"+i,"age":i} );
}
{uname:"zs1"}
改为{uname:"zs2"}
db.c3.update({uname:"zs1"},{$set:{uname:"zs2"}}){uname:"zs10"}
的年龄加2岁或减2岁
db.c3.update({uname:"zs10"},{$inc:{age:2}})
递减只需要将2改为-2
即可。
db.集合名.remove(条件[,是否删除一条])
false:否
db.c3.remove({uname:"zs3"})
高级开发攻城狮统称:所有数据库都需要增删改查CURD标识
MongoDB删除语法:remove
增Create
db.集合名.insert(JSON数据)
删Delete
db.集合名.remove(条件 [,是否删除一条true是false否默认])
也就是默认删除多条
改Update
db.集合名.update(条件, 新数据 [,是否新增,是否修改多条])
升级语法db.集合名.update(条件,{修改器:{键:值}})
查Read
db.集合名.find(条件 [,查询的列])