查看所有的数据库
show dbs 查看所有的数据库,输入 db 查看当前使用的数据库。
4、切换数据库(如果该数据库不存在,则创建一个数据库)
use andyDB
5、显示所有的表(集合Collection)
show collections
show tables (两个都可以)
6、创建一个表person,并初始化数据
db.person.insert({name:"andy",age:25})
7、mySet集合中插入一个字段{x:10}
db.mySet.insert({x:10}) 往mySet集合中插入一个字段{x:10}。
8、查看集合中的所有字段
db.mySet.find() 查看集合中的所有字段。
10、更新一条记录
db.person.update({name:"andy"},{$set:{age:100}})
db.boss_web_company.updateMany({"crawl_status":1},{"$set":{"crawl_status":0}})
11、删除一条记录
db.person.remove({name:"andy"})
12、条件
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
不等于查询语句$ne
group操作:在表中对src进行group分类统计
db.economic_info_new.aggregate([{"$group" : {_id:"$src", count:{$sum:1}}}])
模糊查询: (经济or商业)and银监会
db.table.aggregate("content":{"$regex":"(?=.*(经济|商业))(?=.*(银监会)).*"})
用 $exists 判断字段是否存在:
db.records.find({b: {$exists: fals}})
mongo_db["dbs"]["tables"].find({"rongzi_name": {"$exists": false}})
上面的查询将输出不包含字段 b 的文档:
当的值为true时,则匹配数据库中含有field这个字段的文档,也包括field这个字段为空的文档。
如果的值为false,那么查询只返回不包括该field该字段的文档。简单的说,$exists 就是判断一个字段是否存在。
排序sort pymongo.DESCENDING
info_data = mongo_db[db_name][table].find({"job_code": job_code}).sort("job_update_time", pymongo.DESCENDING)
info_data_list = [info for info in info_data]
服务器登录mongo:
mongosh mongodb://127.16.0.7:27017 -u username -p password
mongoexport 导出数据
#导出csv
mongoexport --host=127.16.0.7--port=27017 --username=username --password='password' --authenticationDatabase=admin -d=drch_company -c=export_en_USA_CHN_new --type=csv -f="GlobalEventID,Day,Actor1Code" -o=./export_USA_CHN.csv
# 使用正则模糊搜索 导出json
mongoexport --host=127.16.0.7--port=27017 --username=username --password='password' --authenticationDatabase=admin -d=drcnet_spider -c=economic_info_new --type=json -q '{"date": {"$gt":"2021-12-01"}, "content":{"$regex":".*?(COVID-19|新冠|疫情|奥密克戎).*?"}}' -o=./COVID19_new1.json