mongodb 基础

MongoDB 安装

下载安装包 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.16.tgz
解压,移动到指定目录
tar -zxvf mongodb-linux-x86_64-4.0.16.tgz
mv mongodb-linux-x86_64-4.0.16 /opt/moudle/mongodb

创建数据目录
mkdir -p /opt/data/mongodb/{data,conf,log}

创建配置文件
cd /opt/data/mongodb/conf
vi mongodb.conf

dbpath=/opt/data/mongodb/data
logpath=/opt/data/mongodb/log/mongodb.log
port=27017
fork=true
bind_ip=0.0.0.0

配置环境变量
vi /etc/profile

export MONGODB_HOME=/opt/moudle/mongodb
export PATH=$PATH:$MONGODB_HOME/bin

source /etc/profile

启动服务
mongod --config /opt/data/mongodb/conf/mongodb.conf

使用MongoDB

输入命令 mongo

查看数据库
show dbs 

使用数据库testdb
use testdb 

插入一条记录(插入数据的时候会创建数据库testdb )
db.user.insert({id:1, name:'张三', address:'安徽合肥'}) 

也可以使用save保存数据,功能同insert
db.user.save({id:2, name:'李四', address:'上海浦东'}) 

查询
db.user.find() 

更新name字段
db.user.update({id:1},{$set:{name:'张三三'}})

这样会删除其他字段
db.user.update({id:1},{name:'张三三'})

更新不存在的字段,会新增字段
db.user.update({id:2}, {$set:{age:22}})

更新不存在的数据,默认不会新增,想要新增记录 需要将最后一个参数设置为true
db.user.update({id:3}, {$set:{name:'王五'}})
db.user.update({id:3}, {$set:{name:'王五'}}, true)

删除数据
db.collection.remove(
	<query>,
	{
		justOne: <boolean>,
		writeConcern: <document>
	}
)

参数说明
query:可选,删除的文档的条件。
justOne:可选,如果设为true或1,则只删除一个文档,如果不设置该参数或使用默认值false,则删除所有匹配条件的文档。
writeConcern: 可选,跑出异常的级别。

模拟数据
db.user.insert({id:1, name:'张三', age: 22, address:'安徽合肥'})
db.user.insert({id:2, name:'李四', age: 23, address:'安徽合肥'})
db.user.insert({id:3, name:'王五', age: 22, address:'安徽合肥'})
db.user.insert({id:4, name:'赵六', age: 24, address:'安徽合肥'})

删除年龄为22的用户数据
db.user.remove({age:22})

删除年龄为22的用户数据,删除1条
db.user.remove({age:22}, true)

删除所有
db.user.remove({})

为了简化操作,官方推荐使用deleteOne()和deleteMany()进行删除数据操作
查询数据
db.collection.find([query], [fields])

query:可选,指定查询条件。
fields:可选,指定查询返回的字段。默认省略该参数,返回所有键值。

使用pretty()方法,可以以更易读的方式返回。
db.col.find().pretty()

条件查询
等于 {key: value}
小于 {key: {$lt: value}}
小于等于 {key: {$lte: value}}

大于 {key: {$gt: value}}
大于等于 {key: {$gte: value}}
查询所有,只返回id和name字段
db.user.find({}, {id: 1, name: 1})

返回数据条数
db.user.find().count()

查询年龄小于等于23的数据
db.user.find({age: {$lte: 23}})

查询年龄小于等于23,并且id大于等于3 的数据
db.user.find({age: {$lte: 23}, id: {$gte: 3}})

查询id 等于2 或 id 等于3 的数据
db.user.find({$or: [{id: 2}, {id: 3}]})

分页查询,skip()跳过几条,limit() 查询条数
db.user.find().limit(10).skip(1)

排序,按照age 倒序排序,-1为倒序,1为正序
db.user.find().sort({age: -1})

相关文章 https://www.cnblogs.com/yangjiming/p/11042249.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值