MongoDb部分笔记

2019-01-18
mongoDb 0 评论 108 浏览

查找数据

  • 部分字段不存在时查询 db.post.find({'worksAspectRatio':{$exists:false}}).count()
  • 排序查找 db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
  • 更新文档
db.plan.update({_id:ObjectId("5bce8ffbaff8ca66f919fec1")},{$set:{'left':-1}})
db.post.update({_id:ObjectId("5ac3a35faff8ca244eaf2aec")},{$set:{"tags":["zhangsan","lisi"]}})
db.user.update({_id:ObjectId("5bf77c1faff8ca5b47d8f9a2")},{$set:{"createAt": ISODate("2018-12-17T10:50:54.738Z")}})

更新表格中没有的字段 比如:数据库中没有该字段,执行此条语句则每条没有该字段的都会加上该字段

db.activity.update(
    {"beRobot" : {$exists : true}},
    {"$set" : {"beRobot" : false}},
    false,
    true
)
db.post.update({'postRate':{$exists:true}},{$set:{'postRate':'D'}})

db.post.aggregate([
    {$project:{day:{$substr:["$createAt",0,10]}}},
    {$group:{_id:"$day",number:{$sum:1}}},  
    {$sort:{_id:-1}}  
])

数据库备份(Linux)

  1. 进入到/usr/bin目录下
  2. mongodump -h 127.0.0.1 -d test -o /opt/
  3. 进入/opt目录
  4. zip -q -r test.zip /opt/test/ 将test文件打包
  5. mongodb/bin目录下运行 mongorestore -h localhost:27017 -d test F:\文件备份\test\opt\test

删除或新增表的一个字段:

删除一个字段: db.post.update({},{$unset:{'postSpecialIds':''}},false,true)
新增一个空字符串字段: db.post.update({}, {$set: {postSpecialId:""}}, {multi: 1})

条件查询

db.CollectionAAA.find({ "CreateTime" : { "$gte" : ISODate("2017-04-20T00:00:00Z"), "$lt" : ISODate("2017-04-21T00:00:00Z") } }).count()

查询相同字段的个数

db.profile.aggregate([
    { $group: { _id : '$userId', count: { $sum : 1 } } },
    { $match: { count: { $gt : 1} } }
])

db.user.find({
    "phone":{$regex:/^1/},
    "lastLoginAt" : { "$gte" : ISODate("2018-07-20T00:00:00Z"), "$lt" : ISODate("2018-11-09T00:00:00Z") }    	
},{
    _id:0,'phone':1, 'lastLoginAt':1
}).sort({'lastLoginAt':-1}).limit(100).skip(600)

我是一个一直在努力挣扎, 从未放弃的菜逼!
评论
发表评论
validate