newliver 2010年08月11日 星期三 13:24 | 2467次浏览 | 0条评论
散落笔记,慢慢填充......
In [1]: import pymongo #导入pymongo模块
In [2]: con = pymongo.Connection() #连接本地mongodb
In [3]: c_db = con['databasename'] #连接数据库
In [4]: c_dt = c_db['table'] #连接表
In [5]: for i in c_dt.find(): #查询返回表所有值
...: print i
{u'pet': u'duck', u'_id': ObjectId('4c61083807fe8626a1000001'), u'nickname': u'user001', u'ukey': 287436516703862790L}
{u'pet': u'cat', u'_id': ObjectId('4c61083807fe8626a1000003'), u'nickname': u'user003', u'ukey': 287436516704387080L}
In [10]: res = c_dt.find_one({'pet':'dog'}) #返回第一条符合查询的结果
In [11]: res
Out[11]:
{u'_id': ObjectId('4c61083807fe8626a1000000'),
u'nickname': u'user000_two',
u'pet': u'dog',
u'ukey': 287436516703862789L}
In [12]: res = c_dt.full_name #返回表名
In [13]: res
Out[13]: u'databasename.table'
In [14]: c_dt.count() #返回统计c_dt表行数
Out[14]: 7
In [26]: c_dt.update({'ukey':123456789},{"$set":{'a':'c'}}) #更新表中ukey等于123456789,且将此结果键值等于‘a’的字段的值更新为‘c’ ,如果无此键值,mongodb会自动添加此键值,mongodb不判断数据类型,因此需要自己手动写个类型判断模块辅助数据录入
In [27]: c_dt.find_one({'nickname':'tom'})
Out[27]:
{u'_id': ObjectId('4c623c1507fe861351000000'),
u'a': u'c',
u'nickname': u'tom',
u'pet': u'dog_one',
u'ukey': 123456789}
In [28]: c_dt.update({'ukey':123456789},{"$unset":{'a':'c'}}) #当ukey=123456789时,且此返回结果中包含‘a’键值等于‘c’,删除‘a’键值(可以和$set比较,一个是赋键值,一个是移除键值)
In [29]: c_dt.find_one({'nickname':'tom'}) #返回第一条符合查询的结果
Out[29]:
{u'_id': ObjectId('4c623c1507fe861351000000'),
u'nickname': u'tom',
u'pet': u'dog_one',
u'ukey': 123456789}
In [40]: a = c_dt.find({'car':'Jeep'}).limit(0) #取出所有指定条件查询结果
ln [41]: for i in a:print i
....:
{u'a': u'c', u'pet': u'snake', u'car': u'Jeep', u'book': u'newliver', u'ukey': 123456789, u'_id': ObjectId('4c623c1507fe861351000000'), u'nickname': u'\u5f20\u4e09'}
{u'pet': u'snake', u'car': u'Jeep', u'_id': ObjectId('4c625c9e07fe862352000000'), u'nickname': u'\u5f20\u4e09\u5f20\u4e09\u5f20', u'ukey': 1234567891}
In [42]: a = c_dt.find({'car':'Jeep'}).limit(1) #取出指定条件查询结果的第一条
In [43]: for i in a:print i
....:
{u'a': u'c', u'pet': u'snake', u'car': u'Jeep', u'book': u'newliver', u'ukey': 123456789, u'_id': ObjectId('4c623c1507fe861351000000'), u'nickname': u'\u5f20\u4e09'}
In [5]: c_dt.remove() #删除所有数据,但不删除索引
In [6]: c_dt.remove({'nickname':'user004'}) # 删除指定字段值
Zeuux © 2024
京ICP备05028076号
暂时没有评论