python连接mongodb进行查询_Python中的MongoDB基本操作:连接、查询实例

这篇文章主要介绍了Python中的MongoDB基本操作:连接、查询实例,本文直接给出操作示例代码,需要的朋友可以参考下

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。它的特点是高性能、易部署、易使用,存储数据非常方便。

MongoDB 简单使用

联接数据库

代码如下:

In : import pymongo

In : from pymongo import Connection

In : connection = Connection(‘192.168.1.3‘, 27017) //创建联接

Connection 相关参数

代码如下:

Connection(]]]]]]]])

数据库操作

代码如下:

In : c.database_names() //列出所有数据库名称

Out:

In : c.server_info() //查看服务器相关信息

Out:

{u‘bits‘: 64,

u‘gitVersion‘: u‘nogitversion‘,

u‘ok‘: 1.0,

u‘sysInfo‘: u‘Linux yellow 2.6.24-27-server #1 SMP Fri Mar 12 01:23:09 UTC 2010 x86_64 BOOST_LIB_VERSION=1_40‘,

u‘version‘: u‘1.2.2‘}

In : db = c //选择数据库

In : db.collection_names() //列出当前数据库中所有集合名称

Out:

In : db.connection //查看联接信息

Out: Connection(‘192.168.1.3‘, 27017)

In : db.create_collection(‘test_abeen‘) //创建新集合

Out: Collection(Database(Connection(‘192.168.1.3‘, 27017), u‘test‘), u‘test_abeen‘)

In : db.last_status() //查看上次操作状态

Out: {u‘err‘: None, u‘n‘: 0, u‘ok‘: 1.0}

In : db.name //查看当前数据库名称

Out: u‘test‘

In : db.profiling_info() //查看配置信息

Out:

In : db.profiling_level()

Out: 0.0

集合操作

代码如下:

In : db.collection_names() //查看当前数据库所有集合名称

Out:

In : c = db.test_abeen //选择集合

In : c.name //查看当前集合名称

Out: u‘test_abeen‘

In : c.full_name //查看当前集合全名

Out: u‘test.test_abeen‘

In : c.database //查看当前集合数据库相关信息

Out: Database(Connection(‘192.168.1.3‘, 27017), u‘test‘)

In : post = {"author":"Mike","text":"this is a test by abeen"}

In : posts = db.posts

In : posts.insert(post) //向数据库集合插入文档,默认创建集合

Out: ObjectId(‘4c358492421aa91e70000000‘)

In : db.collection_names() //显示所有集合名称

Out:

In : posts.find_one() //从集合查找信息

Out:

{u‘_id‘: ObjectId(‘4c358492421aa91e70000000‘),

u‘author‘: u‘Mike‘,

u‘text‘: u‘this is a test by abeen‘}

In : p.update({"author":"Mike"},{"$set":{"author":"abeen","text":"this is a test by abeen shan shan"}})//更新集合文档信息

In : list(p.find())

Out:

In : list(posts.find())

Out:

In : posts.remove({"a":"abeen"}) //删除符合条件的文档

In : list(posts.find())

Out:

In : db.collection_names()

Out:

In : db.drop_collection("doc_abeen") //删除集合

In : db.collection_names()

Out:

代码

代码如下:

In : result = db.posts.find({"a":"aa"})//查找

In : type(result)

Out:

In : list(result)

Out:

find格式

代码如下:

find(]]]]]]]]]])

代码

代码如下:

In : db.posts.count()//当前集合文档数

Out: 3

In : type(db.posts)

Out:

In : posts.rename(‘test_abeen‘)//重命名当前集合

In : db.collection_names()

Out:

In : for post in c.find({"a":"aa"}).sort("a"): //查询并排序列

post

Out: {u‘_id‘: ObjectId(‘4c358ad4421aa91e70000002‘), u‘a‘: u‘aa‘, u‘b‘: u‘bb‘}

Out: {u‘_id‘: ObjectId(‘4c358ad9421aa91e70000003‘), u‘a‘: u‘aa‘, u‘b‘: u‘bb‘}

代码如下:

> db.foo.insert( { x : 1, y : 1 } )

> db.foo.insert( { x : 2, y : "string" } )

> db.foo.insert( { x : 3, y : null } )

> db.foo.insert( { x : 4 } )

// Query #1 y 为null或不存在

> db.foo.find( { "y" : null } )

{ "_id" : ObjectId("4dc1975312c677fc83b5629f"), "x" : 3, "y" : null }

{ "_id" : ObjectId("4dc1975a12c677fc83b562a0"), "x" : 4 }

// Query #2 y为null的值

> db.foo.find( { "y" : { 0 : 10 } } )

{ "_id" : ObjectId("4dc1975312c677fc83b5629f"), "x" : 3, "y" : null }

// Query #3 y不存在的结果

> db.foo.find( { "y" : { $exists : false } } )

{ "_id" : ObjectId("4dc1975a12c677fc83b562a0"), "x" : 4 }

免责申明:本栏目所发资料信息部分来自网络,仅供大家学习、交流。我们尊重原创作者和单位,支持正版。若本文侵犯了您的权益,请直接点击提交联系我们,立刻删除!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值