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
12-28 08:56