前言
用了MongoDB也有一段时间了. 在此记录下, 在使用MongoDB
过程中比较难懂的一些命令&语句
.
常用命令 - 基础操作
- id
MongoDB内的id比较特殊. 其是一个Object对象, 其生成原理见. 其在进行搜索时, 应写成如下表达式进行搜索.
db.getCollection('raw_user').find({"_id": ObjectId("61b61b0e3401d205df9210a9")});
- id - OtherTips
把id的值赋值给其中的某个字段.
- 增加一条记录
# 插入数据
db.getCollection('raw_user').insert();
# 插入数据实战
db.getCollection('raw_user').insert({"name":"sean","age":18,likes: [{"bookName":"history", "page":64, "color":"blue"}, {"bookName":"math", "page":12, "color":"orange"}]});
- 删除一条记录
db.getCollection('raw_user').remove({"name":"tom"});
- 查询一条记录
db.getCollection('raw_user').find({"name":"sean", "age":18});
- 更改一条记录 - 更改记录值
# 使用 $set算子更新
db.getCollection('raw_user').updateOne({"name":"sean", "age":18}, {"$set":{"age":20} });
- 更改一条记录 - 更改属性名称
db.getCollection('raw_user').update({"name":"sean"}, {"$rename":{"21":"age"}}, false, true);
- 更改一条记录 - 删除某个属性
db.getCollection('raw_user').update({"name":"sean"}, {"$unset":{"female":""}});
- 更改一条记录 - 新增某个属性
db.getCollection('raw_user').updateOne({"name":"sean"}, {"$set":{"sex":"female"}}, {"multi":1});
- 清空collection
db.getCollection('raw_user').drop();
常用命令 & 其余常见算子
-
distinct()
-
$in
db.getCollection('raw_user').find({"name": {"$in": ["sean","henley"]}});
- $or
常用命令 & 数组相关
在接触过程中, 还会遇到一些与数组相关的语句. 数组相关的语句, 其核心为使用$
关键字, 定位数组内的某一条记录.
- 数据内, 查询一条数据
待定.
- 数组内, 插一条新数据 (
$addToSet
)
db.getCollection('raw_user').update({"name":"sean"}, {"$addToSet": {"likes":{"name":"chinese", "page":999}}});
关于向mongodb数据库中的一条记录的数组中增加数据的方法
- 数组内, 更新一条数据
db.getCollection('raw_user').update({"name":"sean", "likes.bookName":"history"}, {"$set": {"likes.$.page":1024}});
- 数组内, 删除一条数据
$pull
db.getCollection('raw_user').update({"name":"sean"}, {"$pull": {"likes":{"name":"chinese"}}});
如何从MongoDB中的数组中删除一个元素?
mongodb java 删除数组里的某一个数据