mongodb基础知识
mongodbmongodb是由c++写的,是一个基于分布式文件存储的开源数据库系统mongodb将数据存储为一个文档,数据结构由键值对组成,类似于json默认端口号为270171.创建数据库use databasename 2.查看所有数据库show dbs3.删除数据库db.dropDatebase()4.查看存在的集合show coll...
·
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的数据
更多推荐
已为社区贡献1条内容
所有评论(0)