1、查询 find
语法:db.collectionName.find({条件},{显示条件})
db.barca.find({age:{$gt:25},pos:'MF'}) 年龄大于25,位置为 MF 中场
db.barca.find({},{name:1,age:1,_id:0}) 第一个占位,显示所有, 1表示所有 0 无
db.barca.distinct(‘age’)显示 年龄 //[20,31,24,25,36]
db.镀膜班组派工.find({合格数:{lt:60}}) 合格数 大于30 小 60
db.镀膜班组派工.find({合格数:{in:[45,50]}}) 合格数为45 或 50 的 db.镀膜班组派工.find({or:[{合格数:45},{合格数:50}]})
db.镀膜班组派工.find({合格数:{$nin:[45,50]}}) 合格数不为45 或不为 50 的
db.产品定义.find( ).sort({'静置时长(h)':-1}) 根据静置时长排序, 倒叙
db.产品定义.find().skip(10).limit(1) 取第11个 数据信息
db.产品定义.find({'data.1':{$gt:20}}) data数组中的第二条数据
多条件查询
{'$match':{"工单号":ddgl_arr[i]['工单号']}},
{'$match':{'$or':[{"模组总电压电阻测试结果":{"$in":["NG"]}},{"串口测试1结果":{"$in":["NG"]}}, {"串口测试2结果":{"$in":["NG"]}},{"部件条码绑定数据结果":{"$in":["NG"]}},
{"电池总耐压测试结果":{"$in":["NG"]}},
{"部件条码绑定数据结果":{"$in":["NG"]}},
{"栈板条码绑定数据结果":{"$in": ["NG"]}},
{"充放电过程测试结果":{"$in":["NG"]}},
{"充放电工步测试数据结果":{"$in":["NG"]}},
{"整机称重数据结果":{"$in":["NG"]}},
{"组装QC检查结果":{"$in":["NG"]}}]}},
{'$group':{'_id':null,'count':{'$sum':1}}}
]).toArray()
2、更新 update
语法:
db.inventory,find(
{查询条件},
{update},
{
upsert:如果条件不存在是否新增记录,默认是false
multi:是否修改多条,默认false,只更新找到的第一条
}
)
1、db.inventory.update({qty:50},{$set:{status:'AA'}})
2、db.inventory.update({qty:50},{$set:{'size.uom':'AA'}})
更新多条数据
3、db.inventory.update({status:"D"},{$set:{'size.h':'10000',status:'DD'}}, **{upsert:false,multi:true**}) 更新多条 数据 ,第三个参数 中 upsert 不用也要写上
更新内嵌文档
db.产品定义.update({
"注塑工单": { $elemMatch: { "产品工艺路线": args[0] } },
}, {
$set:{
"注塑工单":[args[1]], //这里需要放数组
}
},false,true);
db.产品定义.update({
"镀膜工单": { $elemMatch: { "产品工艺路线": args[0] } },
}, {
$set:{
"镀膜工单":[args[1]],
}
},false,true);
需要修改的页面内容格式:
"注塑工单" : [
{
"产品工艺路线" : "ZS1",
"工序路径" : "镀膜后外观检",
"工艺路线编码" : "ZS001",
"产品属性" : "半成品"
}
],
3、删除
**db.collection.remove**({
查询条件},
{justone:true or false, 默认为false 找到的全删
writeConcern:抛出异常
}
)
b、语法二
db.barca.drop()
4、聚合
管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。
MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的。
表达式:处理输入文档并输出。表达式是无状态的,只能用于计算当前聚合管道的文档,不能处理其它的文档。
这里我们介绍一下聚合框架中常用的几个操作:
- $project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
- $match使用MongoDB的标准查询操作。
- $limit:用来限制MongoDB聚合管道返回的文档数。
- $skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
- $unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
- $group:将集合中的文档分组,可用于统计结果。
- $sort:将输入文档排序后输出。
- $geoNear:输出接近某一地理位置的有序文档。