时间:2021-07-01 10:21:17 帮助过:8人阅读
简介
MongoDB特点
基本操作
名词
SQL术语/概念 |
MongoDB术语/概念 |
解释/说明 |
database |
database |
数据库 |
table |
collection |
数据库表/集合 |
row |
document |
数据记录行/文档 |
column |
field |
数据字段/域 |
index |
index |
索引 |
table joins |
|
表连接,MongoDB不支持 |
primary key |
primary key |
主键,MongoDB自动将_id字段设置为主键 |
{‘name‘:‘guojing‘,‘gender‘:‘男‘}
{‘name‘:‘guojing‘,‘gender‘:‘男‘}
{‘name‘:‘huangrong‘,‘age‘:18}
{‘book‘:‘shuihuzhuan‘,‘heros‘:‘108‘}
tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.4.0.tgz
sudo mv -r mongodb-linux-x86_64-ubuntu1604-3.4.0/ /usr/local/mongodb
export PATH=/usr/local/mongodb/bin:$PATH
管理mongo
sudo service mongod start
sudo service mongod stop
mongo
db查看当前数据库名称
db.stats()查看当前数据库信息
exit
或ctrl+c
数据库切换
db
show dbs
use 数据库名称
数据库删除
db.dropDatabase()
集合创建
db.createCollection(name, options)
db.createCollection("stu")
db.createCollection("sub", { capped : true, size : 10 } )
查看当前数据库的集合
show collections
删除
db.集合名称.drop()
数据类型
object id
插入
db.集合名称.insert(document)
db.stu.insert({name:‘gj‘,gender:1})
s1={_id:‘20160101‘,name:‘hr‘}
s1.gender=0
db.stu.insert(s1)
简单查询
db.集合名称.find()
更新
db.集合名称.update(
<query>,
<update>,
{multi: <boolean>}
)
db.stu.update({name:‘hr‘},{name:‘mnc‘})
db.stu.insert({name:‘hr‘,gender:0})
db.stu.update({name:‘hr‘},{$set:{name:‘hys‘}})
db.stu.update({},{$set:{gender:0}},{multi:true})
保存
db.集合名称.save(document)
db.stu.save({_id:‘20160102‘,‘name‘:‘yk‘,gender:1})
db.stu.save({_id:‘20160102‘,‘name‘:‘wyk‘})
删除
db.集合名称.remove(
<query>,
{
justOne: <boolean>
}
)
db.stu.remove({gender:0},{justOne:true})
db.stu.remove({})
关于size的示例
db.createCollection(‘sub‘,{capped:true,size:10})
db.sub.insert({title:‘linux‘,count:10})
db.sub.find()
db.sub.insert({title:‘web‘,count:15})
db.sub.find()
db.sub.insert({title:‘sql‘,count:8})
db.sub.find()
db.sub.insert({title:‘django‘,count:12})
db.sub.find()
db.sub.insert({title:‘python‘,count:14})
db.sub.find()
数据查询
基本查询
db.集合名称.find({条件文档})
db.集合名称.findOne({条件文档})
db.集合名称.find({条件文档}).pretty()
比较运算符
db.stu.find({name:‘gj‘})
db.stu.find({age:{$gte:18}})
逻辑运算符
db.stu.find({age:{$gte:18},gender:1})
db.stu.find({$or:[{age:{$gt:18}},{gender:1}]})
db.stu.find({$or:[{age:{$gte:18}},{gender:1}],name:‘gj‘})
范围运算符
db.stu.find({age:{$in:[18,28]}})
支持正则表达式
db.stu.find({name:/^黄/})
db.stu.find({name:{$regex:‘^黄‘}}})
自定义查询
db.stu.find({$where:function(){return this.age>20}})
Limit
db.集合名称.find().limit(NUMBER)
db.stu.find().limit(2)
skip
db.集合名称.find().skip(NUMBER)
db.stu.find().skip(2)
一起使用
for(i=0;i<15;i++){db.t1.insert({_id:i})}
db.stu.find().limit(4).skip(5)
或
db.stu.find().skip(5).limit(4)
投影
db.集合名称.find({},{字段名称:1,...})
db.stu.find({},{name:1,gender:1})
db.stu.find({},{_id:0,name:1,gender:1})
排序
db.集合名称.find().sort({字段:1,...})
db.stu.find().sort({gender:-1,age:1})
统计个数
db.集合名称.find({条件}).count()
db.集合名称.count({条件})
db.stu.find({gender:1}).count()
db.stu.count({age:{$gt:20},gender:1})
消除重复
db.集合名称.distinct(‘去重字段‘,{条件})
db.stu.distinct(‘gender‘,{age:{$gt:18}})
Mongodb的知识点整理(一)
标签:ref timestamp 解压 amp 通过 自动 解决 c++语言 物理