mongoDB基本命令操作

1. 安装

官网:https://www.mongodb.com/try/download/community

(1). 启动mongodb

# 命令行加参数
mongod  --dbpath=..\data\db

# 命令行加配置文件,需要先编写配置文件
mongod -f ..\conf\mongod.conf

(2). 数据库连接

# 默认链接本地27017端口
mongo
# 指定连接
 mongo --host=127.0.0.1 --port=27017

2. 基本命令

(1) 数据库操作

#  查看所有数据库
show dbs  或者 show database

# 创建使用数据库,存在使用不存在创建使用
use dbName

#  当前数据
db

#  删除数据库
db.dropDatabse()

(2) 集合操作

#  集合创建
 db.createCollection("set1")
 #  集合查看
 show collections
#  删除集合
db.集合名称.drop()

(3) 文档操作

#  单文档插入(json格式插入),如果集合不存在会自动创建
db.set1.insert({"id":1,"name":"zhangsan","age":23})
#  多文档插入
db.set1.insertMany([{"id":1,"name":"zhangsan","age":23},{"id":2,"name":"lisi","age":24}])

1) 简单查询

#  查询 
db.集合名称.find()
# 查询一条数据
db.集合名称.findOne()

2) 条件查询

#  根据条件查询(json格式指定条件,如{"id":1})
db.集合名称.find("条件")

# 多条件(与或)
db.集合名称.find({$and[{"条件集合"}]})
db.集合名称.find({$or[{"条件集合"}]})

3) 投影查询

投影: 选择列

db.集合名称.find({查询条件},{投影条件})
例如:  db.set1.findOne({},{"name":1})

4) 文档更新

#  全局更新,使用更新内容替换原来的文档(默认为第一个)
db.集合名.update({条件},{更新内容})

#  局部更新(只会修改指定字段)
db.集合名称.update({条件},{$set:{更新内容}})
例如:  db.set1.update({"name":"wangwu"},{$set:{"age":18}})

# 批量修改(上面语句默认修改一条) 使用updateMany命令
db.set1.updateMany({"name":"wangwu"},{$set:{"age":18}})

5) 列值增长修改

#  使用$inc函数为增加
db.集合名称.update({条件}{$inc:{"增加字段":增加值}})

6) 删除文档

#  会删除条件匹配的所有数据
db.集合名称.remove({条件})
#  删除集合中全部数据
db.集合名称.remove()

7) 分页查询

# 统计,不带条件统计所有
db.集合名称.count({查询条件})

#  查询前2条记录
db.集合名称.find().limit(2)
# 跳过前2条数据
db.集合名称.find().limit(2)

# 分页查询(配合skip和limit)
db.集合名称.find().limit(2).skip(3)

8) 排序查询

# 1为降序,-1为升序
db.集合名称.find().sort({排序字段:1})

9) 正则查询(模糊查询)

db.集合名称.find({查询条件:/正则/})

10) 比较查询

db.集合名称.find({"字段":{$指令:值}})
/*
指令: 
	>			gt
	<			lt
	>= 			gte
	<=			lte
	!=			ne
*/

11) 包含查询

db.集合名称.find({"字段":{$in:["匹配集合"]}})

3. 索引

索引: 通过特定数据结构,提高查询效率(B树)

查看索引:

# 查询集合中所有索引
db.集合名称.getIndexs()
/*
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
v :  		索引版本
key: 		索引字段
	_id:	升序(-1降序)
name: 		索引名称
*/

创建索引:

db.集合名称.createIndex(keys,[options])
例如: db.set1.createIndex({"id":1})
/*
kyes: 为给哪些key创建索引

options(常用): 
	unique: 唯一索引
	name: 	索引名称
*/

删除索引:

db.集合名称.dropIndex({指定名称或者条件})
例如: db.set1.dropIndex({"id":1})

# 删除所有索引
db.集合名称.dropIndexes()

(1) 执行计划

相当于mysql的: explain

db.集合名称.find().explain()

4. mongoTemplate操作MongoDB



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值