mongodb

mongodb是由c++写的,是一个基于分布式文件存储的开源数据库系统

mongodb将数据存储为一个文档,数据结构由键值对组成,类似于json

默认端口号为27017

1.创建数据库

use databasename

 

2.查看所有数据库

show dbs

3.删除数据库

db.dropDatebase()

4.查看存在的集合

show collections

5.删除集合

db.collection.drop()

6.插入数据

db.test.insert({"name":"张三","age":20})
db.test.insert({"_id":1,"name":"历史","age":20})

7.更新数据

db.test.update({"name":"张三"},{$set:{"name":"张三的儿子"}})
db.test.update({"name":"历史"},{$set:{"name":"李四"},multi:true})#更新多条数据

8.删除数据

db.test.remove({"name":"李四"})#删除全部符合条件的数据
db.test.remove({"name":"李四"},{justOne:true})#删除符合条件的一条数据
db.test.remove({})#清空集合数据

9.查询数据

db.test.find()#查询所有数据
db.test.find({"name":"李四"})#查询一定条件数据
db.test.findOne({"name":"李四"})#查询单条数据
db.test.find({"age":{$lt:50}})#查询年龄小于50的数据
db.test.find({"age":{$gt:50}})#查询年龄大于50的数据
db.test.find({"age":{$ne:20}})#查询年龄不等于20的数据
db.test.find({"age":{$lte:20}})#查询年龄小于等于20的数据
db.test.find({"age":{$gte:20}})#查询年龄大于等于20的数据
db.test.find({"sex":"男","age":{$gte:20}})#and查询
db.test.find({$or:[{"name":"李四"},{"age":{$lte:20}}]})#or查询
db.test.find({"name":"李四",$or:[{"age":{$gte:50}},{"age":{$lte:30}}]})#and和or联合查询
db.test.find({"age":{$gt:20,$lt:35}})#查询年龄在20-35岁之间的数据
db.test.find().limit(1)#限制1条数据
db.test.find().limit(1).skip(1)#从第二条数据开始限制一条数据,返回的是第二条数据
db.test.find().sort({"age":1})#按年龄升序排列
db.test.find().sort({"age":-1})#按年龄降序排列

10.aggregate()聚合

db.test.aggregate([{$group:{_id:"$name","allmoney":{"$sum":"$money"}}])#以name分组计算和
db.test.aggregate([{$group:{_id:"$name","count":{"$sum":1}}}])#以name分组计算次数
db.test.aggregate([{$group:{_id:"$name","avg":{"$avg":"$money"}}}])#求平均值
db.test.aggregate([{$group:{_id:"$name","max":{"$max":"$money"}}}])#求最大值
db.test.aggregate([{$group:{_id:"$name","min":{"$min":"$money"}}}])#求最小值

11.管道操作符

mongodb的聚合管道在一个管道处理完毕后将结果传给下一个管道

db.test.aggregate({$project:{"_id":0,money:1,name:1}})#显示name和money,不显示_id
db.test.aggregate({$match:{"money":{$gt:200,$lt:400}}})#查询大于200小于400数据
db.test.aggregate([{$match:{"money":{$gte:200,$lte:400}}},{$project:{"name":1,"money":1,"_id":0}}])#将大于200小于400的数据限制为只输出name和money

12.正则表达式

db.test.find({"name":/^user1/})#查询以user1开头的数据
db.test.find({"name":/user1/})#查询包括user1的数据

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐