pymongo

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from pymongo import MongoClient

import settings


class MyMongoDB(object):
def __init__(self):
try:
self.client = MongoClient(host=settings.MONGO_HOST, port=int(settings.MONGO_PORT),
username=settings.MONGO_USER,
password=settings.MONGO_PASSWD)

except Exception as e:
print(e)

self.db = self.client[settings.DB_NAME]
self.my_set = self.db[settings.DB_SET]

def insert(self, dic):
print("insert:")
self.my_set.insert(dic)

def update(self, dic, newdic):
print("update:")
self.my_set.update(dic, newdic)

def delete(self, dic):
print("delete:")
self.my_set.remove(dic)

def dbfind(self, dic):
print("find:")
data = self.my_set.find(dic)
for result in data:
print(result["name"], result["age"])

def dbfindone(self, dic):
print("find:")
data = self.my_set.findone(dic)
for result in data:
print(result)

def dbfindall(self):
print("findall:")
data = self.my_set.find()
for result in data:
print(result)


def main():
mongo = MyMongoDB()
dic = {"name": "zhangsan", "age": 18}
# mongo.insert(dic)
# mongo.dbfind({"name": "zhangsan"})
#
# mongo.update({"name": "zhangsan","age": 18}, {"$set": {"age": 25}})
mongo.dbfindone({"name": "zhangsan"})

mongo.dbfindall()


if __name__ == "__main__":
main()

  

cat settings.py

 

MONGO_HOST = '127.0.0.1'
MONGO_PORT = 27019
MONGO_USER = 'mongo'
MONGO_PASSWD = 'xxxxxx'
DB_NAME = 'mydb1'
DB_SET = 'mytable1'

 

##### 分割线 #####################

 

cat i33_mongo.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# @author: Wu
# @date:18-10-18


import logging

from pymongo import MongoClient

from setting import settings

logging.basicConfig(level=logging.DEBUG)


class MyMongoDB(object):
    def __init__(self):
        try:
            self.client = MongoClient(host=settings["MONGO_HOST"], port=int(settings["MONGO_PORT"]),
                                      username=settings["MONGO_USER"],
                                      password=settings["MONGO_PASSWD"])

        except Exception as e:
            logging.info(e)
        logging.info(self.client)
        self.db = self.client[settings["DB_NAME"]]
        self.my_set = self.db[settings["DB_SET"]]

    def dbfind(self):
        logging.info("findall:")
        data = self.my_set.find()
        for result in data:
            yield result.get("md5"), result.get("image_file_id")


if __name__ == "__main__":
    myclient = MyMongoDB()
    data = myclient.dbfind()
    count = 0
    while True:
        try:
            logging.info(next(data))
            count += 1
        except StopIteration:
            logging.info("done!")
            break

    logging.info("data count:%s" % count)

  cat setting.py

settings = {
    "MONGO_HOST": '127.0.0.1,
    "MONGO_PORT": 27019,
    "MONGO_USER": 'useradmin',
    "MONGO_PASSWD": 'xxxxxx',
    "DB_NAME": 'data',
    "DB_SET": 'retrieval_data',
}

  

posted @ 2018-10-16 15:54  rootid  阅读(151)  评论(0)    收藏  举报