mongodb查询 - 笔记
Posted CrazyCoderL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb查询 - 笔记相关的知识,希望对你有一定的参考价值。
# mongodb 查询语句
mongodb :分布式文件存储数据库,介于关系数据库和非关系数据库之间,概念:collection(table),document(row),field(column)
TYChtml数据库:
## 1、查询document数量
? db.getCollection(‘companys‘).find({}).count()
## 2、find()
db.getCollection(‘companys‘).find({"_id":ObjectId("59c12543e1382308c4e0f786")})
? = select * from companys where _id="59c12542e1382308c4e0f262"
db.getCollection(‘companys‘).find({},{"summary":1})
? =select summary from companys
内嵌文档查询:
db.getCollection(‘companys‘).find({"summary.reportCount":4}).limit(1)
db.getCollection(‘companys‘).find({"staffCount":{$elemMatch:{"position":"监事","name":"宋家林"}}}).limit(1)
db.getCollection(‘companys‘).find({"summary.reportCount":4,"summary.checkCount":1}).limit(1)
MongoDB提供了一组比较操作符:
| $lt | < |
| :--: | :--: |
| $lte | <= |
| $gt | > |
| $gte | >= |
| $ne | != |
删除数据库:db.dropDatabase()
查看所有数据库:show dbs
创建数据库:use runoob
插入文档:db.COLLECTION_NAME(document)
更新文档:db.collection.update()
使用$elemMatch操作符查询
模糊查询 $regex
mongodb 更新有两个命令:update\save
数据更新操作符:
$inc:
用法:{$inc:{field:value}}
作用:对一个数字字段的某个field增加value
例:{ "_id" : ObjectId("5030f7ac721e16c4ab180cdb"), "name" : "chenzhou", "age" : 22}
将name为chenzhou的学生age增加5
db.students.update({"name":"chenzhou"},{$inc:{"age":5}})
$set:
用法:{$set:{field:value}}
作用:把文档中某个字段field的值设为value
$unset:
用法:{$unset:{field:1}}
作用:删除某个字段field
例:
db.students.update({"name":"chenzhou"},{$unset:{"age":1}})
$push:
用法:{$push:{field:value}}
作用:把value追加到field中,(field只能是数组类型,如果field不存在,自动插入一个数组类型)
$pushAll:
用法:{$pushAll:{field:value_array}}
作用:用法同$push一样,只是$pushAll可以一次追加多个值到一个数组字段内
$addToSet:
用法:{$addToSet:{field:value}}
作用:加一个值到数组内,而且只有当这个值在数组中不存在时才增加。
$pop:
用法:删除数组内第一个值:{$pop:{field:-1}}、删除数组内最后一个值:{$pop:{field:1}}
作用:用于删除数组内的一个值
$pull:
用法:{$pull:{field:_value}}
作用:从数组field内删除一个等于_value的值
$pullAll:
用法:{$pullAll:value_array}
作用:用法同$pull一样,可以一次性删除数组内的多个值
$rename:
用法:{$rename:{old_field_name:new_field_name}}
作用:对字段进行重命名
以上是关于mongodb查询 - 笔记的主要内容,如果未能解决你的问题,请参考以下文章