一、介绍

(1)mongodb是一款NOSQL(Not Only SQL)数据库(非关系型)。

(2)mongodb中的集合对应关系型数据库中的表,文档对应关系型数据库中的行数据。

(3)mongodb的文档存储的是Json格式的数据。

MongoDb 总结 mongodb快速入门_条件查询

二、安装注意

需要在c盘根目录下创建data文件夹

三、基本操作

(1)show dbs:查看所有数据库
(2)use xxx:进入数据库xxx
(3)show collections:查看当前数据库下的所有集合

四、增操作(在插入操作时,如果集合不存在则根据集合名自动创建集合)

(1)一次插入一个文档:db.集合名.insert(文档)

db.user.insert({name:"wsh",age:22})

MongoDb 总结 mongodb快速入门_数据库_02

_id:如果插入时不知道,则数据库自动生成的,基于时间和机器码生成,能保证不重复,调用ObjectId()方法可以生成。

(2)一次插入多个文档:db.集合名.insert([文档1,文档2])

db.user.insert([{name:"lxm",age:22}, {name:"tqs", age:22}])

MongoDb 总结 mongodb快速入门_数据库_03

五、查操作

(1)无条件查询:ds.集合名.find()

db.user.find()

MongoDb 总结 mongodb快速入门_MongoDb 总结_04


(2)有条件查询:ds.集合名.find(条件)

db.user.find({name:"lxm"})

MongoDb 总结 mongodb快速入门_MongoDb 总结_05


(3)查询符合条件的第一个文档:ds.集合名.findOne(条件)、ds.集合名.find(条件)[0]

db.user.findOne()

MongoDb 总结 mongodb快速入门_mongodb_06

db.user.find()[0]

MongoDb 总结 mongodb快速入门_MongoDb 总结_07

(4)查询符合条件的文档数量:db.集合名.find(条件).count()

db.user.find().count()

MongoDb 总结 mongodb快速入门_mongodb_08

六、改操作

(1)更新文档(原文档被整个替换):ds.集合名.update(条件,Json格式数据)

db.user.update({name:"wsh"}, {age:2000})

MongoDb 总结 mongodb快速入门_MongoDb 总结_09

该update操作会更新整个文档为传入的Json格式的串

(2)更新文档中的部分属性:ds.集合名.update(条件,{$set:{属性1,属性2}})

db.user.update({age:2000}, {$set:{name:"wsh", age:22}})

MongoDb 总结 mongodb快速入门_数组_10


(3)删除文档中的部分属性:ds.集合名.update(条件,{$set:{属性1,属性2}})

db.user.update({name:"wsh"}, {$unset:{name:1, age:1}})

MongoDb 总结 mongodb快速入门_条件查询_11


(4)update默认修改符合条件的第一个文档。

db.user.update({age:22}, {$set:{name:"xxx"}})

MongoDb 总结 mongodb快速入门_数据库_12

(5)修改符合条件的所有文档:db.集合名.updateMany(条件,{$set:{属性1,属性2}})、db.集合名.update(条件,{$set:{属性1,属性2}},{multi:true})

db.user.updateMany({age:22}, {$set:{name:"abc"}})

MongoDb 总结 mongodb快速入门_条件查询_13

db.user.update({age:22}, {$set:{name:"cba"}},{multi:true})

MongoDb 总结 mongodb快速入门_数据库_14


(6)修改符合条件的第一个文档:ds.集合名.updateOne(条件,{$set:{属性1,属性2}})

db.user.updateOne({age:22}, {$set:{name:"abc"}})

MongoDb 总结 mongodb快速入门_数据库_15

七、删操作

(1)删除符合条件的所有文档:db.集合名.remove(条件)、db.集合名.deleteMany(条件)

db.user.remove({age:22})

MongoDb 总结 mongodb快速入门_数据库_16

db.user.deleteMany({age:22})

MongoDb 总结 mongodb快速入门_条件查询_17

(2)删除符合条件的第一个文档:db.集合名.deleteOne(条件)、db.集合名.remove(条件,true)

db.user.deleteOne({age:22})

MongoDb 总结 mongodb快速入门_数组_18

db.user.remove({age:22}, true)

MongoDb 总结 mongodb快速入门_mongodb_19

八、删集合

db.user.drop()

MongoDb 总结 mongodb快速入门_数组_20

九、删数据库

db.dropDatabase()

MongoDb 总结 mongodb快速入门_数据库_21

十、嵌套条件查询

(1)文档的属性为文档

MongoDb 总结 mongodb快速入门_条件查询_22


(2)db.user.find({“address.live”:“a”})

MongoDb 总结 mongodb快速入门_MongoDb 总结_23

十一、往数组属性加入新元素

(1)db.user.update({name:"wsh"}, {$push:{"address.live":"c"}})

MongoDb 总结 mongodb快速入门_条件查询_24


(2)如果元素在数组存在,则不添加:db.user.update({name:"wsh"}, {$addToSet:{"address.live":"c"}})

MongoDb 总结 mongodb快速入门_数组_25

十二、大于、小于等条件

MongoDb 总结 mongodb快速入门_数据库_26


MongoDb 总结 mongodb快速入门_MongoDb 总结_27


MongoDb 总结 mongodb快速入门_MongoDb 总结_28

十三、查询前几条文档

MongoDb 总结 mongodb快速入门_MongoDb 总结_29


MongoDb 总结 mongodb快速入门_数组_30

十四、与、或条件

条件放在数组里

MongoDb 总结 mongodb快速入门_MongoDb 总结_31


MongoDb 总结 mongodb快速入门_条件查询_32

十五、排序

(1)查出来的文档,默认按照_id升序的规则排序

(2)升序:db.集合名.find(条件).sort({属性名:1})

MongoDb 总结 mongodb快速入门_mongodb_33

(2)降序:db.集合名.find(条件).sort({属性名:-1})

MongoDb 总结 mongodb快速入门_数据库_34


(3)先按照年龄降序排序,年龄相同则按照姓名降序排序

MongoDb 总结 mongodb快速入门_mongodb_35

十六、设置输出的属性

MongoDb 总结 mongodb快速入门_MongoDb 总结_36