MongoDB是非关系型的数据库,提供了类似关系型的操作命令。

常用的操作命令

插入

db.集合.insert({key:value,........})
show collections

查询数据

db.集合的名字.find()
db.集合的名字.find().count() //记录数据的总的条数
模糊查找 :db.集合的名字.find({“name”:/正则表达式/})
db.集合的名字.find().sort(“age”:-1) //排序根据年龄 负值降序
db.集合的名字.find({$or:[{字符:值},{字符:值}]}) //或者操作
db.集合的名字.find({"age":{$gt:15,$lt:18}}) //找到年龄大于15小于18的数据
比较操作 lt< gt> lte<= gte>=

删除数据

db.集合的名字.remove(条件)

修改数据

db.集合的名字.update({“name”:”原来的名字”},{$set:{key:值}})
db.集合的名字.update({“name”:”原来的名字”},{$set:{key:值}},true,true) //第一个true表示修改的数据不存在的时候是否新增,第二个true为是否同时修改多条。
db.集合的名字update({},{age:{$inc:{"age":2}},false,true}) //所有的字段年龄都加2

分页:

db.集合的名字.find().skip((page - 1) * pageSize).limit(Number(pageSize)) //skip 跳过 limit() 显示的条数

删除数据表:

db.数据表的名称.drop()

删除数据库:

db.dropDatabase()

mongdb时间类型

Date() 显示当前的时间
new Date 构建一个格林尼治时间 可以看到正好和Date()相差8小时,我们是+8时区,也就是时差相差8,所以+8小时就是系统当前时间
ISODate() 也是格林尼治时间

  1. > Date()
  2. Sun Jan 24 2016 20:39:57 GMT+0800 (CST)
  3. > new Date()
  4. ISODate("2016-01-24T12:40:24.035Z")
  5. > ISODate()
  6. ISODate("2016-01-24T12:52:33.341Z")

时间查找

>db.tb1.find({time:{$gt:new Date(1363746981289)}})

> db.tb1.insert({mydate:ISODate("2012-11-02 07:58:51")})

> db.tb1.insert({mydate:ISODate("20121102 07:58:51")})
> db.tb1.insert({mydate:ISODate("20121102")})
//在 shell 中执行
for(var item in comLs)
{
    //comLs[item].compId+" " +comLs[item].comName+" "+comLs[item].UserCount +" "+
    printjson(db.getCollection('chat_message')
    .find({"CompId":comLs[item].compId,"CreateTime":{$gt:new Date("2020-10-19"),$lt:new Date("2020-10-27")}})
    .count());
}