#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
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Mongo shell 的基本操作 MongoDB 分四级存储:1、数据库 db2、文档集合 collectio...
- 【作者】郑书霞 【导师】袁文魁 吕柯姣 【作品讲解】 1、原文: 与夏十二登岳阳楼 李白 楼观岳阳尽,川迥洞庭开。...