MongoDB 安装及使用方法
MongoDB
1. 安装
2. 使用mongoDB进行远程连接
3. 基本语法
- 和sql对应的增删改查
- mongodb官方文档
- 【高级用法】:使用mongo 在document 的数组中嵌套查询
- 可视化 mongodb compass 基本用法
- 官方mongodb compass 查询
4. pymongo
- 使用 Python 通过 API 操作的 MongoDB,见页面最后增删改查。
- 远程连接
import pymongo
from pymongo import MongoClient
# mongodb://[username:password@]hostname[:port][/database]
myclient = MongoClient(
"mongodb://username:password@hostname:27017/database")
5. mongodb compass
-
报错
operation exceeded time limit.
解决方案,设置$limit或者Max Time -
如何联表查询
result = client['wikidata']['old_Relation'].aggregate([
{
'$match': {
'Relation_id': 'P31',
'Tail.value.id': 'Q5'
}
}, {
'$project': {
'Head_id': 1
}
}, {
'$lookup': {
'from': 'old_Entity',
'localField': 'Head_id',
'foreignField': 'Entity_id',
'as': 'Entity'
}
}, {
'$limit': 20
}, {
'$count': 'Head_id'
}
])
- 如何使用compass 进行筛选查询?
点击Aggregations,顺序添加需要的stage。
item | description |
---|---|
$project | 指定输出文档里的字段 |
$match | 选择要处理的文档,与fine()类似。 |
$limit | 限制传递给下一步的文档数量 |
$skip | 跳过一定数量的文档 |
$unwind | 扩展数组,为每个数组入口生成一个输出文档 |
$group | 根据key来分组文档 |
$sort | 排序文档 |
$geoNear | 选择某个地理位置附近的的文档。 |
$out | 把管道的结果写入某个集合。 |
$redact | 控制特定数据的访问。 |
$lookup | 多表关联(3.2版本新增) |