MongoDB基础使用教程
基本命令使用
//mongo 默认端口
27017
//默认存储使用路径
/data/db //需自己手动创建,且赋予读写权限
//启动mongodb服务端
mongod --config /usr/local/etc/mongod.conf
//链接mongo 命令
mongo
//查看所有数据
show dbs
//当前使用的数据库
db
创建数据库
use DATABASE_NAME
//不存在就创建,否则切换到该数据库
删除数据库
db.dropDatabase()
//即删除当前使用的数据库
删除集合
//删除集合
db.collection_name.drop() //collection_name 为你所要删除的集合名称
更新文档
MongoDB 使用 update() 和 save() 方法来更新集合中的文档。
update() 方法用于更新已存在的文档
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
* query : update的查询条件
* update : update的对象和一些更新的操作符(如
,
<script type="math/tex" id="MathJax-Element-10">,</script>inc…
* upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
* multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
* writeConcern :可选,抛出异常的级别。
例:将student name为LouKit更新为Allen
db.student.update({'name':'LouKit'},{$set:{'name':'Allen'}})
save() 方法通过传入的文档来替换已有文档
db.collection.save(
<document>,
{
writeConcern: <document>
}
)
* document : 文档数据。
* writeConcern :可选,抛出异常的级别。
//修改_id为58eb301cfabd4826d05ecd1d文档数据,没有写的字段将消失
db.student.save({ "_id" : ObjectId("58eb301cfabd4826d05ecd1d"), "name" : "LK", "id" : "100", "date" : "2017-08-01" })
删除文档
MongoDB 中采用 remove()函数来移除集合中的数据
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
* query :(可选)删除的文档的条件。
* justOne : (可选)如果设为 true 或 1,则只删除一个文档,默认false。
* writeConcern :(可选)抛出异常的级别。
//只删除一个
db.student.remove({'name':'Harley'},{justOne:true});
查询文档
MongoDB 查询数据的语法格式如下
db.COLLECTION_NAME.find()
//find() 方法以非结构化的方式来显示所有文档,可读性不是很好,可以使用 pretty() 方法:
db.COLLECTION_NAME.find().pretty()
条件查询
AND 条件
MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,进行条件查询
db.col.find({key1:value1, key2:value2}).pretty() //查询name为LK且id为4的数据 db.student.find({'name':'LK','id':'4'})
OR 条件
MongoDB OR 条件语句使用了关键字 $or,语法格式如下:
db.col.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty() //查询name为LK或id为4的数据 db.student.find({$or:[{'name':'LK'},{'id':'4'}]}).pretty()
MongoDB中查询操作符号
操作符 | 语法格式 | 例子 |
---|---|---|
等于 | {key : value} | db.student.find({ “age” : 20 }) |
小于 | {key:{$lt:value}} | db.student.find({ “age” : { $lt : 20}}) |
大于 | {key:{$gt:value}} | db.student.find({ “age” : { $gt : 20}}) |
小于或等于 | {key:{$lte:value}} | db.student.find({ “age” : { $lte : 20}}) |
大于或等于 | {key:{$gte:value}} | db.student.find({ “age” : { $gte : 20}}) |
不等于 | {key:{$ne:value}} | db.student.find({ “age” : { $ne : 20}}) |
- Limit() 与 Skip()
Limit:指定MongoDB读取数量的数据记录,该方法接受一个数字参数
db.COLLECTION_NAME.find().limit(NUMBER)
Skip: 跳过指定数量的数据,该方法接受一个数字参数作为跳过的记录条数
db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
- 排序 sort()
sort()方法通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列
db.COLLECTION_NAME.find().sort({KEY:1})