美文网首页
python操作mongo

python操作mongo

作者: Py_Explorer | 来源:发表于2018-09-11 15:48 被阅读0次
#coding=utf-8
import pymongo
import requests

settings = {
    "ip": 'localhost',             #ip
    "port": 27017,                 #端口
    "db_name": "firstmysql",       #数据库名字
    "set_name": "test_set"         #集合名字
}
class mongo():
    def __init__(self):
        #创建mongo引擎
        self.mongo = pymongo.MongoClient(host=settings['ip'], port=settings['port'])


    def parse(self):
        #连接数据库,如果firstmysql不存在,则自动创建
        db = self.mongo[settings['db_name']]
        #使用test_set集合,没有则自动创建
        my_set = db[settings['set_name']]
        ###########################################################################
        #插入数据
        # my_set.insert({"name": "zhangsan", "age": 18})
        # my_set.save({"name": "zhangsan", "age": 18})
        # 添加多条数据到集合中
        # users = [{"name": "zhangsan", "age": 18}, {"name": "lisi", "age": 20}]
        # my_set.insert(users)
        # my_set.save(users)
        ###########################################################################
        # 查询全部
        # for i in my_set.find():
        #     print(i)
        # 查询name=zhangsan的
        # for i in my_set.find({"name": "zhangsan"}):
        #     print(i)
        #查询一条
        # print(my_set.find_one({"name": "zhangsan"}))
        ###########################################################################
        #更新数据
        # my_set.update({"name": "zhangsan"}, {'$set': {"age": 20}})
        ###########################################################################
        # 删除name=lisi的全部记录
        # my_set.remove({'name': 'zhangsan'})
        # 删除name=lisi的某个id的记录
        # id = my_set.find_one({"name": "zhangsan"})["_id"]
        # my_set.remove(id)
        # 删除集合里的所有记录
        # db.users.remove() 
        ###########################################################################
        # 条件查询
        #    (>)  大于 - $gt
        #    (<)  小于 - $lt
        #    (>=)  大于等于 - $gte
        #    (<= )  小于等于 - $lte
        # 例:查询集合中age大于25的所有记录
        # for i in my_set.find({"age": {"$gt": 10}}):
        #     print(i)
        ###########################################################################
        # 排序
        # 在MongoDB中使用sort()方法对数据进行排序,
        # sort()方法可以通过参数指定排序的字段,
        # 并使用1和-1来指定排序的方式,其中1为升序,-1为降序。
        # for i in my_set.find().sort([("age", -1)]):
        #     print(i)
        ###########################################################################
        # limit和skip
        # limit()方法用来读取指定数量的数据
        # skip()方法用来跳过指定数量的数据
        # 下面表示跳过两条数据后读取6条
        # for i in my_set.find().skip(1).limit(6):
        #     print(i)
        # IN
        # 找出age是20、30、35的数据,不存返回空
        # for i in my_set.find({"age": {"$in": (20, 35)}}):
        #     print(i)
        # OR
        # 找出age是20或35的记录
        # for i in my_set.find({"$or": [{"age": 20}, {"age": 35}]}):
        #     print(i)
        # OR
        # 找出age是20或35的记录
        # for i in my_set.find({"$or": [{"age": 20}, {"age": 35}]}):
        #     print(i)
        ###########################################################################
        #程序入口
        if __name__ == '__main__':
            db = mongo()
            db.parse()

相关文章

网友评论

      本文标题:python操作mongo

      本文链接:https://www.haomeiwen.com/subject/iayugftx.html