首页 > 开发 > Python > 正文

Pymongo库简单应用(Python的mongodb库)

2024-07-21 02:52:08
字体:
来源:转载
供稿:网友

Pymongo库简单应用

Pymongo库是Python操作mongodb的库。下面简单介绍Pymongo的简单使用。

创建mongo客户端选择数据库和集合并插入数据

import pymongoclient = pymongo.MongoClient(host,port)#client = pymongo.MongoClient('mongodb://localhost:27017/')db = client.db #选择名称叫db的数据库,没有会创建#或者db = client['db']collection = db.test #选择test名的collection,没有会创建#或者collection = db['test']#collection 可以对集合进行操作collection.insert({'name':'aaa'}} #返回插入idcollection.insert([{'name':'aaa'},{'name':'bbb'}])#返回插入id的liste = collection.insert_one({'name':'ccc'})#返回结果通过e.inserted_id查看插入id

连接带认证的mongo

上述连接可以连接不设置密码的mongo,但是mongo带密码就需要其他的连接方式了。

#SCRAM-SHA-1方式uri = "mongodb://user:passWord@example.com/the_database?authMechanism=SCRAM-SHA-1"client = MongoClient(uri)#或者client = MongoClient('example.com')client.the_database.authenticate('user', 'password', mechanism='SCRAM-SHA-1')#MONGODB-CR 方式from pymongo import MongoClienturi = "mongodb://user:password@example.com/the_database?authMechanism=MONGODB-CR"client = MongoClient(uri)#或者client = MongoClient('example.com')client.the_database.authenticate('user', 'password', mechanism='MONGODB-CR')

查询数据

a = collection.find({'name':'aaa'}) #返回游标,可以for迭代或者a.next()获取a = collection.find_one({'name':'aaa'})#返回结果'''{'_id':ObjectId('58b92cdfc43b3735664597be'), 'name':'aaa'}'''#如果id是字符串类型的from bson.objectid import ObjectId #导入ObjectId把字符串id转换成ObjectId才能查找collection.find_one({'_id':ObjectId('58b93904c43b3735664597c2')})#直接使用字符串id是无法查询到内容的#查看数据条数collection.count()#或者 collection.find().count()collection.find({"name": "aaa"}).count()#条件查询和排序d = datetime.datetime(2009, 11, 12, 12)posts.find({"date": {"$lt": d}}).sort("author")

创建索引

创建索引可以加快查询

collection.create_index([('user_id',pymongo.ASCENDING),] ,unique=True)#创建一个唯一的不可重复的索引user_id,一次可以创建多个索引

参考官方文档 http://api.mongodb.com/python/current/tutorial.html


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表