python数据库 pymongo 的使用

Posted 望月又一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据库 pymongo 的使用相关的知识,希望对你有一定的参考价值。

使用前必须保证两点:

      a  电脑上安装了MongoDB数据库、python安装了pymongo包。

      b 打开mongod.exe

1 创建客户端

client = pymongo.MongoClient(‘localhost‘, 27017)
#pymongo.MongoClient()不带参数时,默认是本地客户端‘localhost‘: 27017

 2 关联数据库

关联数据库有两种方式 创建数据库  和 连接已有数据库:

创建数据库 runoob:
db = client[‘runoob‘]

连接已有数据库 runooc
db = client.runooc

 3 关联集合

关联集合有两种方式 创建集合  和 连接已有集合:

创建集合 run:
collection = db[‘run‘]

连接已有集合 runo
collection = db.runo

 4 增

#插入单条数据
collection.insert({‘name‘:‘lili‘, ‘age‘:24})

#插入多条数据
collection.insert({‘name‘:‘lili‘, ‘age‘:24}, {‘location‘:[123,456], ‘dad‘:‘me‘})

lst = [{‘name‘:‘lili‘, ‘age‘:24}, {‘location‘:[123,456], ‘dad‘:‘me‘}]
collection.insert(lst) #变量式 doc = { ‘name‘:‘lili‘, ‘age‘:24, ‘location‘:[123,456], ‘dad‘:‘me‘ } collection.insert(doc)

 5 查

#单一条件查找
for i in collection.find({‘age‘:24}):
	print i

#&查找
for i in collection.find({‘age‘:24, ‘name‘:‘lili‘}):
	print i

#or查找
for i in collection.find({‘$or‘:[{‘age‘:24}, {‘name‘:28}]}):
	print i

# & 和 or 一起用
collection.find({"likes": {‘$gt‘:50}, ‘$or‘: [{"age": 24}, {"age": 28}]}).

#查一个具体对象
collection.find_one({‘age‘:24}) #返回值是一个具体的对象

 6 改

#更新一条数据
collection.update({‘age‘:24}, {‘$set‘:{‘age‘:28}}) #用‘age‘:28替换发现的第一条‘age‘:24

#更新对条记录
collection.update({‘age‘:24}, {‘$set‘:{‘age‘:28}}, multi=True) #用‘age‘:28替换所有‘age‘:24

 7 删

#删掉所有{‘age‘:28}的数据
collection.remove({‘age‘:28})

#删除数据集
collection.drop()

 8 其他

排序:在MongoDB中使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序,-1为降序。

for i in collection.find().sort([("age",1)]):
    print(i)

 limit和skip:

#limit()方法用来读取指定数量的数据
#skip()方法用来跳过指定数量的数据
#下面表示跳过两条数据后读取6条
for i in my_set.find().skip(2).limit(6):
    print(i)

 mongodb的条件操作符:

#    (>)  大于 - $gt
#    (<)  小于 - $lt
#    (>=)  大于等于 - $gte
#    (<= )  小于等于 - $lte

#例:查询集合中age大于25的所有记录
for i in my_set.find({"age":{"$gt":25}}):
    print(i)

 type(判断类型)

#找出name的类型是String的  只会找出name是字符串类型的
for i in my_set.find({‘name‘:{‘$type‘:2}}):
    print(i)

type 对照表

Double    1     
String    2     
Object    3     
Array    4     
Binary data    5     
Undefined    6    已废弃
Object id    7     
Boolean    8     
Date    9     
Null    10     
Regular Expression    11     
JavaScript    13     
Symbol    14     
JavaScript (with scope)    15     
32-bit integer    16     
Timestamp    17     
64-bit integer    18     
Min key    255    Query with -1.
Max key    127

 






以上是关于python数据库 pymongo 的使用的主要内容,如果未能解决你的问题,请参考以下文章

在 python/pymongo 中将 bson 转换为 json

python数据库 pymongo 的使用

pymongo的使用方法

如何在python 2.7中使用pymongo进行多处理池

Python中的数据库连接与查询——使用pymongo

Pymongo/bson:将 python.cursor.Cursor 对象转换为可序列化/JSON 对象