使用python操作mongo

一、pip安装

1.PYCHARM安装:
step one:
路径进入
File -- Settings -- Project -- Project Interpreter 
step two:
右侧加号 -- 搜索安装包[在Specify version选择指定版本] -- Install Package

2.DOS环境下安装:
裸装: 默认源地址: https://pypi.python.org/simple,国外
非裸妆: 
 转移到国内源地址: 
            1. 阿里云 http://mirrors.aliyun.com/pypi/simple/ 
            2. 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 
            3. 豆瓣(douban) http://pypi.douban.com/simple/ 
            4. 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 
            5. 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
  安装时候指定国内源:
            6. pip install pkg_name(包名) -i http://pypi.douban.com/simple/
        当你遇到
        pypi.douban.com is not a trusted or secure host and is being ignored.
        解决办法需要加信任:
            7. pip install pkg_name(包名) -i http://pypi.douban.com/simple/ --
trusted-host pypi.douban.com  
   通过文件形式,达到工程化:
            8. windows下创建默认安装目录pip文件夹下:
           C:\Users\Administrator\pip
           该文件夹下,创建ini文件,文件名(pip.ini):
           [global]
               index-url=http://mirrors.aliyun.com/pypi/simple/
           [install]
           trusted-host=mirrors.aliyun.com
           
   遇到坑: 
            9. 如果我们pip 不好用,请配置脚本(Scripts)文件夹到环境变量中,因为pip.exe在我们脚本中。
            10. 用户变量和系统变量区别: 如果配置到系统变量,公用的,如果配置到用户变量,只有当前用户已经配置的,可以使用

二、python操作mongodb

step one:
from pymongo import MongoClient

step two:
# 创建链接
conn = MongoClient("127.0.0.1")
# 给主机和端口
conn = MongoClient(host="127.0.0.1",port=27017)
# 链接数据库
db = conn.test

三、插入数据

多条数据插入:

db.collection.insert_many([{doc},{doc1},{doc2},{doc3}.....])

results=db.test.insert_many([{"curcourse":"mongodb","os":"windows","edittool":"pycharm"},
               {"stu_num":"20","os":"tencent_zbplatform","tea":"modeng"},
               {"tea_num":"2","os":"dos","tea":"meng"}])

单条数据插入:

db.collection.insert_one({doc})

result = db.test.insert_one({"curcourse":"mongodb","os":"windows","edittool":"pycharm"})

获取插入数据id

单条: result.inserted_id
多条: results.inserted_ids

四、查询数据

查询所有

# 查询数据,返回结果类似迭代器
res = db.test.find()
res_item = next(res)
try:
while res_item != None:
   print(res_item)
   res_item = next(res)
except StopIteration as sit:
print("result end")

查询一条文档

# 查询一条数据
res_one = db.test.find({"os":"dos"})
print(next(res_one))

根据id查询

# 查询一条数据,根据ID查询还有些特殊
from bson.objectid import ObjectId
res_one = db.test.find({"_id":ObjectId("5e0c6ba5005d695f5897cc20")})
print(next(res_one))

模糊查询

第一种: res = db.test.find({"name":re.compile("d")})
第二种: res = db.test.find({"name":{"$regex":"d"}})
common code: 
res_item = next(res)
try:
while res_item != None:
   print(res_item)
   res_item = next(res)
except StopIteration as sit:
print("result end")

五、排序

sort:db.collection.find(query).sort("key",1/-1) 升序或者降序

# -1 代表降序,1 代表升序
res = db.test.find().sort("num",1)
for i in res:
print(i)

limit: db.collection.find(query).limit(num)

# 限制获取条数
res = db.test.find().limit(5)
for i in res:
print(i)

count_documents: db.collection.count_documents(query)

                           query= {field,condtion}

# 统计
res = db.test.count_documents({"num": {'$gt': 1}})
print(res)

skip: res = db.test.find().skip(num)

res = db.test.find().skip(4)

你可能感兴趣的:(使用python操作mongo)