查看索引

db.getCollection('wx_contacts_inf_102').getIndexes()

新建索引

db.getCollection('wx_contacts_inf_102').createIndex({"delete_flag":1})

db.getCollection('wx_contacts_inf_102').createIndex({'unionid':-1,'alias':-1,'mobile':-1})

删除索引

dropIndex({firstname:1})

eq:匹配等于指定值的值。 =

gt:匹配大于指定值的值。 >

gte:匹配大于或等于指定值的值。>=

lt:匹配小于规定值的值。 <

lte:匹配是小于或等于规定值的值。<=

ne:匹配不等于指定值的所有值。!=

in:匹配任何在数组中指定的值。

nin:没有匹配数组中的规定值

sort 排序

skip 起始位置

limit 截止位置

 

添加字段

db.getCollection('consumption').update({}, {$set: {'delete_flag':0}}, {multi: true})
//修改某个字段的值
db.getCollection('consumption').update({'consumption_id': {$in:['yyt1544697235048','yyt1544254791007']}
}, {$set: {'delete_flag':1}}, {multi: true}
)

查看索引

db.getCollection('wx_contacts_inf_102').getIndexes()

新建索引

db.getCollection('wx_contacts_inf_102').ensureIndex({"delete_flag":1})

 

分页查询

db.getCollection('member_64').find({}).sort({'opencard_time':-1}).skip(0).limit(1);

in查询

db.getCollection('orders_102').find({'order_no':{'$in':['1512626454535']}})

 

是否为空查询

db.getCollection('member_64').find({'member_id':{$exists:false}});//空 ,true不为空
 
//存在且不为空""
db.getCollection('orders_102').find({'channel_id':{$nin:[null,""]}})
 
//条件查询,并修改数据(默认只更新第一条)
db.getCollection('wxtj_dailyreport').update(
{'channel_name':'8501'},
{'$set':{'invest_money':987}}
)
db.getCollection('wxtj_dailyreport').update(
{'company_id':102},
{'$set':{'invest_money':0}},
{multi:true} //多条
)
//分组查询,求和
db.getCollection('wxtj_day').aggregate([
{'$match':{
'company_id':102,
'sys_group_id':{'$in': ['1539107778168','1539486287127','1539107786221','1539106431780']},
'create_data':{'$gte':'1541001600000'}
}},
{'$group':{'_id':'$sys_group_id',num:{'$sum':'$invalid_num'}}
}
])
 
//根据字段分组查询,并计算指定字段的和
db.getCollection('wxtj_day').aggregate([
{'$match':{
'company_id':102,
'custom_id':462,
'create_data':{'$gte':'1543593600000'}
}
},
{'$group':{ '_id':'$custom_id',
order_num:{'$sum':'$order_num'},
order_total:{'$sum':'$order_total'},
invalid_num: {'$sum':'$invalid_num'},
invalid_toatl: {'$sum':'$invalid_toatl'}
}
}
])
 
db.getCollection('wx_contacts_inf_102').find({
'channel_id':{$nin:[null,""]},
'weixinid':{$nin:[null,""]},
'isfriend':1,
'create_date':{$gte:'1545382800000',$lte:'1545469200000'}
}).sort({'create_date':-1})
db.getCollection('wx_contacts_inf_102').find({
'channel_id':{$nin:[null,""]},
'weixinid':{$nin:[null,""]},
'sys_group_id':{$nin:[null,""]},
'custom_id':{$nin:[null,""]},
"channel_id" : "1534921211056",
'create_date':{$gte:'1546419600000',$lte:'1546506000000'}})

 

只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置 multi 参数为 true。

db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
db.getCollection('wxtj_dailyreport').update({'create_date':'2019-03-01','channel_name':'6081'},{$set:{'create_date':'2019-04-19'}},{multi:true})
 
db.getCollection('wxtj_day').find({'custom_id':462,'create_data':{$gte:'1543593600000'}})
 
db.getCollection('wx_weixin_inf').find({weixinid:{'$exists':true,'$ne':''}}).forEach(
function(item){
db.getCollection('wxtj_dailyreport').update(
{"weixinid":item.weixinid},
{$set:{"custom_type":item.custom_type}
},false,true)
}
)
 
db.getCollection('wxtj_dailyreport').aggregate([
{'$match':{'create_date':'2019-03-10','company_id':102}},
{'$group':{
'_id':{'channel_name':'$channel_name'},
'company_id':{'$last':'$company_id'},
'is_auto_matic':{'$last':'$is_auto_matic'}
}
},
])
 
db.getCollection('membership_102').find({'company_id':102,'member_id':{$in:[44166, 26068]},
'total_recharge':{$gt:0},
'total_consumption':{$gt:0}})
 
db.getCollection('consumption').aggregate([
{'$match':{'company_id':102}},
{'$group':{
'_id':{'member_id':'$member_id'}
}
},
])
 
db.getCollection('membership_102').find({$and:[{'company_id':102},
{$or:[{'total_recharge':{$gt:0}},
{'total_consumption':{$gt:0}},
{'member_id':{$in:[44166]}}
]
}]
})