python学习:pymongo/mongodb cheatsheet
一个操作 mongodb 的库
安装
提前安装好 mongodb
或者运行好 docker-mongodb
pip install pymongo
cheatsheet
功能 | 代码 |
---|
连接,创建表 | import pymongo
# mongodb 连接数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["spider_gter"]
# col_schools 表
col_schools = db["schools"]
col_schools.create_index("school_id", unique=True)
|
mongodb Console(query) | // 查换info字段,值为 NOT_FOUND 的值
db.schools.find({ info: { $eq: 'NOT_FOUND'}}).count()
// 查找 info 存在的个数
db.schools.find({ info: { $exists: true}}).count()
// 查询不重复的 school_id
db.offers.distinct("school_id")
|
mongodb Console(delete) | # 删除所有 schools 中 info 字段为 NOT_FOUND 的数据
db.schools.deleteMany({ "info": "NOT_FOUND" })
|
添加 is_crawled 字段 | # 给 offers 表添加 is_crawled 字段
db.offers.updateMany({}, { $set: { "is_crawled": false } })
|
删除字段 | db.offer_details.update({}, { $unset: { undergraduate : 1 } }, false, true);
|
字段值替换 | db.profile_details.updateMany(
{},
[{ $set: { "grouped": { $replaceAll: { input: "$grouped", find: "-", replacement: "_" } } }}]
)
|
字符串 id 转 int | db.nces_posts.find({}).forEach(function(doc) {
db.collectionName.updateOne(
{ "_id": doc._id },
{ "$set": { "data_id": NumberInt(doc.data_id) } }
);
})
|
参考