Mangodb

1. 安装
 
我们下载的mongodb是社区版的,已经帮我们编译好,因此不需要我们在此编译,我们只需将下载的文件解压后移动到安装目录即可,比如:移动到/usr/local/mongodb。
 
show dbs / show databases 查看数据库
show tables / show collections 查看表的列表
use tableName 切换数据库
db.help() 查看命令帮助
db.tableName.drop() 删除tableName表,tableName为表名称
db.dropDatabase() 删除当前切换到的数据库
db.createCollection(tableName) 创建表
 
隐式添加:
如果下级结构添加了,那么上级结构自动也被添加
比如:我在一个不存在的数据库下创建了一张表,那么这个数据库会被自动创建。数据表也支持隐式创建
 
插入数据
db.tableName.insert()
 
例1:往user表插入一条
db.user.insert({'name':'shusheng'})
db.user.insertOne({'name':'shusheng'})
例2:往user表插入多条
db.user.insert([{'name':'郭昌松','age':20},{'name':'李志友','girl':['李文斌,李志光']}])
db.user.insertMany([{'name':'郭昌松','age':20},{'name':'李志友','girl':['李文斌,李志光']}])
 
查询数据
db.tableName.find(where)
where:查询条件,可选
操作
格式
范例
RDBMS中的类似语句
等于
{<key>:<value>}
db.col.find({"by":"菜鸟教程"}).pretty()
where by = '菜鸟教程'
小于
{<key>:{$lt:<value>}}
db.col.find({"likes":{$lt:50}}).pretty()
where likes < 50
小于或等于
{<key>:{$lte:<value>}}
db.col.find({"likes":{$lte:50}}).pretty()
where likes <= 50
大于
{<key>:{$gt:<value>}}
db.col.find({"likes":{$gt:50}}).pretty()
where likes > 50
大于或等于
{<key>:{$gte:<value>}}
db.col.find({"likes":{$gte:50}}).pretty()
where likes >= 50
不等于
{<key>:{$ne:<value>}}
db.col.find({"likes":{$ne:50}}).pretty()
where likes != 50
 
例1:db.member.find({name:'baba'})
查询name='baba'的记录
 
例2:db.member.find({name:'baba',age:30})
查询name='baba'并且age=30的记录
 
例3:db.member.find({age:{$lt:26}})
查询age小于26的记录
 
例4:db.member.find({age:{$lt:26,$gt:20}})
查询age大于20小于26的记录
 
 
附:以格式化后的结构展示查询结果
db.tableName.find(where).pretty()
 
删除数据
db.member.remove(where,justOne)
where:删除的条件表达式
justOne:当符合条件的文档有多条时,为true只删除一条记录,为false表示全部删除,默认为false
 
更新数据
基本语法:db.tableName.update(where,data,upsert,multi)
where:条件表达式(更新的条件)
data:要更新的数据
upsert:为true时,表示如果根据查询条件表达式找不到记录,则将准备更新的数据插入到表中作为一条新记录,默认为false
multi:默认为false,表示只更新符合条件的一条记录,如果为true时,表示更新所有的符合条件的记录,该参数必须在含有$操作下才生效
 
例子的数据准备:db.member.insert({name:'baba',age:30,sex:'男','money':999999999})
 
默认情况下,update会覆盖整个文档(整条记录内容)
例1:db.member.update({name:'baba'},{'money':99999999998})
执行完上面的操作,整条记录会变成:{'money':99999999998}
 
只更改部分字段值
db.tableName.update(条件表达式,{$set:修改的内容})
例2:db.member.update({name:'baba'},{$set:{'money':99999999998}})
执行完上面的操作,整条记录会变成:{name:'baba',age:30,sex:'男','money':99999999998}
 
例3:第三个参数的使用例子
db.member.update({name:'bingbing'},{name:'libingbing',age:40},true)
如果根据{name:'bingbing'}找不到符合条件的记录,则将{name:'libingbing',age:40}插入到数据表中作为一条新记录。
 
例4:第四个参数的使用例子
正确使用方法:db.member.update({name:'小锅'},{$set:{name:'火锅',age:3}},false,true)
错误使用方法:db.member.update({name:'小锅'},{name:'火锅',age:3},false,true)
 
 
php操作mongodb
 
 
 

猜你喜欢

转载自www.cnblogs.com/zzzheng/p/9200856.html
今日推荐