码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB 基础

时间:2018-04-22 18:06:36      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:/etc   HERE   init   pre   mongod   lte   cab   ima   inf   

 

MongoDB 是一个基于分布式 文件存储的NoSQL数据库



插入 :
db.student.insert( {name:‘jianeng‘,age:18} )

插入多条数据: [ { } ,{ } ]

db.student.insert([
{‘name‘:‘张三‘,age:18,sex:‘男‘ },
{‘name‘:‘李四‘,age:20,sex:‘女‘ },
{‘name‘:‘王五‘,age:30,sex:‘女‘ }
])

查找: find(条件,字段)
db.student.find({}) / select * from table
db.student.find( )


# _id 默认输出, _id:0 / select name,age from table where name=‘jianeng‘
db.student.find({name:‘jianeng‘},{name:1,age:1,_id:0})


###### 更新 update ({条件},{新的值},{multi:true } ) ,默认之更新一条

# 全文档更新
db.student.update({name:‘haha‘},{xx:‘yyy‘})


# 指定字段更新 { $set:{} }
db.student.update({name:‘luck‘},{$set:{name:‘qwe123‘,age:38}})

# 修改多条数据
db.student.update( {name:‘jianeng‘} ,{$set:{sex:‘xxxx‘}}, {multi:true} )

 

####### 删除 remove(条件,justOne)
#全删
db.student.remove({name:‘jianeng‘})

# 只删一条
db.student.remove({name:‘jianeng‘},{justOne:true})

 


###

1. pip install pymongo

2. 查看 配置文件
sudo vim /etc/mongodb.conf

i ,找到11行
如果 bind_id =127.0.0.1
修改为 : bind_id =0.0.0.0 (用字母上面的数字键盘)

esc
:wq

/etc/init.d/mongodb restart


3. 端口转发 : 27017

 


 


## 插入
db.student.insert({‘name‘:‘赵六‘,age:38,sex:‘男‘})


db.student.insert([
{‘name‘:‘lucky‘,age:38,sex:‘female‘},
{‘name‘:‘李四‘,age:33,sex:‘女‘},
{‘name‘:‘赵六‘,age:35,sex:‘男‘},
])


## find({条件},{字段} )

db.student.find({name:‘张三‘})

db.student.find({name:‘张三‘},{name:1,sex:1,_id:0})


## update({条件},{新的值},{multi:true})

# 全文档
db.student.update({name:‘aa‘},{xx:‘yyy‘} )

# 指定字段
db.student.update({name:‘bb‘},{$set:{sex:‘男‘}} )

# 指定字段 并 全部更新
db.student.update({age:18},{$set:{age:38}},{multi:true})

 

## remove({条件},{justOne})
db.student.remove({age:28})
db.student.remove({age:36},{justOne:true})

 


find( { 条件 } )

## 查询里面的 > < = and or

等于 {<key>:<value>}
小于 {<key>:{$lt:<value>}}
小于或等于 {<key>:{$lte:<value>}}
大于 {<key>:{$gt:<value>}}
大于或等于 {<key>:{$gte:<value>}}
不等于 {<key>:{$ne:<value>}} !=
$in在范围内 {‘age‘: {‘$in‘: [20, 23]}}
$nin不在范围内 {‘age‘: {‘$nin‘: [20, 23]}}


db.student.find({name:‘jianeng‘})
db.student.find({age:{$lt:20} }) # age<20

db.student.find({age:{$lte:36} }) # age<=36
db.student.find({age:{$lte:36} },{_id:0}) # age<=36

db.student.find({age:{$gte:36} },{_id:0}) # age>=36

db.student.find({name:{$ne:‘jianeng‘} }) # name != jianeng


db.student.find({name:{$in:[‘jianeng‘,‘lucky‘,‘张三‘]}}) # in
db.student.find({name:{$nin:[‘jianeng‘,‘lucky‘,‘张三‘]}}) # nin

 

 

MongoDB AND 条件
db.student.find({name:‘lucky‘,age:18}) name=lucky and age=18

 

MongoDB OR 条件 $or:[{},{}}
db.student.find({$or:[{name:‘jianeng‘},{age:38}]}) # name=‘jianeng‘ or age =18


### 混合

## 1. name=‘赵六‘ and age >=36
db.student.find({name:‘赵六‘,age:{$gte:36}})


## 2. name=‘赵六‘ and age >=36 sex :男 or sex:male

db.student.find({name:‘赵六‘,age:{$gte:36},$or:[ {sex:‘男‘},{sex:‘male‘} ]})

db.student.find({
name:‘赵六‘,
age:{$gte:36},
sex:{$in:[‘男‘,‘male‘]}
})

 


 

使用insert_one插入一条数据。
技术分享图片

 

技术分享图片

 

技术分享图片技术分享图片

使用insert_many插入一条数据。
技术分享图片

技术分享图片

 

技术分享图片使用update_one更新一条数据

技术分享图片

技术分享图片

 

技术分享图片使用update_many更新一条数据

技术分享图片

技术分享图片

 

 

技术分享图片使用delete_one删除一条数据

技术分享图片

技术分享图片

 

技术分享图片技术分享图片

使用delete_many删除一条数据
技术分享图片

技术分享图片

技术分享图片技术分享图片

使用find查找全部数据
技术分享图片

技术分享图片使用find_one查找满足条件的第一条数据

技术分享图片

 

 

技术分享图片

MongoDB 基础

标签:/etc   HERE   init   pre   mongod   lte   cab   ima   inf   

原文地址:https://www.cnblogs.com/longxd/p/8908364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!