Mongodb 常用命令搜索

查询产品id不存在与数组中的集合:

db.user.find({"product_id":{"$nin":[18,8,7,23,17,94,95,1]}})

任务A:在panel_members集合中搜2000条项目号为5201,创建时间大于1547558613,小于1547708036,并且状态值为2的人,根据进行访问设备进行分组,并且显示人数大于700人的组

db.panel_members.aggregate([
{'$match':{'project_id':{'$eq':5201},'created_time':{'$gt':1547558613,'$lt':1547708036},'status':{'$eq':2}}},
{'$project':{'_id':0,'platform':1}},
{'$limit':2000000},
{'$group':{'_id':'$platform','count':{'$sum':1}}},
{'$match':{'count':{'$gt':700}}} //并且显示人数大于700人的组
])

任务A结果:

{ 
    "_id" : "ipad", 
    "count" : 701
}
{ 
    "_id" : "android", 
    "count" : 702
}
{ 
    "_id" : "ios", 
    "count" : 729
}

任务B:搜索只显示_id,product_cs,product_name三个字段,#条件为:_id=4445

db.project.aggregate([
{'$match':{'_id':{'$eq':4445}}},
{'$project':{'_id':1,'product_cs':1,'product_name':1}},
])
​

任务结果B

{ 
    "_id" : NumberInt(4445), 
    "product_name" : "conceptct", 
    "product_cs" : [
        "leader@cloudxink.com", 
        "chenjunlong@cloudxink.com"
    ]
}

任务C:基于任务B的结果获取如下结果:

{ 
    "_id" : NumberInt(4445), 
    "product_name" : "conceptct", 
    "product_cs" : "leader@cloudxink.com"
}
{ 
    "_id" : NumberInt(4445), 
    "product_name" : "conceptct", 
    "product_cs" : "chenjunlong@cloudxink.com"
}

则需要unwind查询

db.project.aggregate([
{'$match':{'_id':{'$eq':4445}}},
{'$project':{'_id':1,'product_cs':1,'product_name':1}},
{'$unwind':'$product_cs'},
])

下面再赠送你一条:忽略第一条

db.project.aggregate([
{'$match':{'_id':{'$eq':4445}}},
{'$project':{'_id':1,'product_cs':1,'product_name':1}},
{'$unwind':'$product_cs'},
{'$skip':1}
])

一次性更新多条文档

#批量更新整个数组
db.product.update({},{"$set":{"product_cs":[
    {"name" : "乔峰", "email" : "qiaofeng@163.com"},
    {"name" : "段誉","email" : "duanyu@163.com"},
    {"name" : "虚竹","email" : "xuzhu@163.com"},
]}},{multi:true})


#更新多维数组中的某个键值 (更新_id=2这条数据endlink下面url的值)
db.panel.update({"_id":2},{$set:{"endlink.url":"baidu.com"}})

 

#删除多维数组中的某条数据

#删除_id=2这条数据里面endlink下面status的字段其值为finish的记录
db.panel.update({"_id":2},{"$unset":{"endlink.status":"finish"}})

给oa_member中的project_id创建索引

db.oa_member.createIndex({"project_id":1})

在服务器上进行导出product_questoin集合

mongoexport --collection product_question --host "rs-yili-test/11.11.11.11:27017,22.22.22.22:27017,33.33.33.33:27017" -u root -p Cloud2017 --db cloudxink_it --authenticationDatabase admin --out product_question.json

#在服务器上进行导入mail集合

mongoimport --collection mail --host "rs-yili-test/11.11.11.22:27017,22.22.22.22:27017,33.33.33.33:27017" -u root -p Cloud2017 --db cloudxink_it --authenticationDatabase admin --file mail.json

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值