MongoDb插入数据
> db.user.insert({ ... "name": "chenyurong", ... "age": 25, ... "addr": "ShenZhen" ... }) WriteResult({ "nInserted" : 1 }) > db.user.find() { "_id" : ObjectId("59a2782f6eb4c099dbb718a1"), "name" : "chenyurong", "age" : 25, "addr" : "ShenZhen" } > show dbs admin 0.000GB chenyurong 0.000GB local 0.000GB
我们可以使用pretty()
函数使其输出格式化,,偏于查阅
> db.user.find().pretty() { "_id" : ObjectId("59abb034dca9453471d67f13"), "name" : "chenyurong", "age" : 25, "addr" : "ShenZhen" }
MongoDb查询数据
db.collection.find(query, projection)
- query(可选):使用查询操作符指定查询条件。该参数是一个JSON对象,key 一般为查询的列名,value 为查询匹配的值。
projection(可选):使用投影操作符指定返回的键。如果省略该参数,那么查询时返回文档中所有键值。该参数是一个JSON对象,key 为需要显示的列名,value 为 1(显示) 或 0(不显示)。
范围操作符
等于 | {:} | db.col.find({"by":"MongoDb入门教程"}).pretty() | where by = 'MongoDb入门教程' |
小于 | {:{$lt:}} | db.col.find({"likes":{$lt:50}}).pretty() | where likes < 50 |
小于或等于 | {:{$lte:}} | db.col.find({"likes":{$lte:50}}).pretty() | where likes <= 50 |
大于 | {:{$gt:}} | db.col.find({"likes":{$gt:50}}).pretty() | where likes > 50 |
大于或等于 | {:{$gte:}} | db.col.find({"likes":{$gte:50}}).pretty() | where likes >= 50 |
不等于 | {:{$ne:}} | db.col.find({"likes":{$ne:50}}).pretty() | where likes != 50 |
db.user.find({"age": {$gte:25}},{"_id":0}).pretty()
AND操作符
db.user.find({"addr": "ShenZhen","age": {$gte:25}},{"_id":0}).pretty()
{ "name" : "ChenYuRong", "age" : 25, "addr" : "ShenZhen" } { "name" : "XiaoHei", "age" : 28, "addr" : "ShenZhen" }
OR操作符
db.user.find({$or:[{"addr":"ShenZhen"},{"age":{$gte:30}}]}).pretty()
{ "_id" : ObjectId("59ac1c57dca9453471d67f15"), "name" : "ChenYuRong", "age" : 25, "addr" : "ShenZhen" } { "_id" : ObjectId("59ac1c57dca9453471d67f17"), "name" : "XiaoPai", "age" : 30, "addr" : "BeiJing" } { "_id" : ObjectId("59ac1c57dca9453471d67f18"), "name" : "YuChangHui", "age" : 32, "addr" : "FuJian" } { "_id" : ObjectId("59ac1c57dca9453471d67f19"), "name" : "XiaoHei", "age" : 28, "addr" : "ShenZhen" }
排序
在 MongoDB 中使用使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列。
db.user.find({"age":{$lt:30}}).sort({age:1}).pretty()
例如要根据地区统计用户人数,那么查询语句为:
db.user.aggregate([{$group:{_id:{userAddr:'$addr'},totalCount:{$sum:1}}}])
{ "_id" : { "userAddr" : "FuJian" }, "totalCount" : 1 } { "_id" : { "userAddr" : "JieYang" }, "totalCount" : 1 } { "_id" : { "userAddr" : "BeiJing" }, "totalCount" : 1 } { "_id" : { "userAddr" : "GuangZhou" }, "totalCount" : 1 } { "_id" : { "userAddr" : "ShenZhen" }, "totalCount" : 2 }
MongoDb更新数据
db.user.update({'name':'chenyurong'},{$set:{'age':25}})
MongoDb删除数据
db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )
> db.user.remove({"name":"LiQiLiang"}) WriteResult({ "nRemoved" : 1 }) > db.user.find({"name":"LiQiLiang"}).pretty() >
常用的DDL命令
- 查看当前数据库:
db
- 查看所有数据库:
show dbs
- 查看当前数据库所有集合(表格):
show collections