import pymongo,sys
from pymongo import mongoclient
client = mongoclient(host=localhost:27017,read_preference=pymongo.read_preferences.readpreference.primary_preferred)
db = client.database
db.authenticate(database,passwd)
1.search
pi = db.locinfo.find({con:p}) #search
pi = db.locinfo.find_one({con:p})
print pi
{u'city': u'\u56fe\u6728\u8212\u514b\u5e02', u'wid': u'101130908', u'zip': u'843900', u'pro': u'\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a', u'wkey': u'\u56fe\u6728\u8212\u514b\u5e02', u'acode': u'0998', u'_id': u'txpcx5', u'fix': true, u'con': u'\u56fe\u6728\u8212\u514b\u5e02'}
2.update
db.locinfo.update({con:p},{'$set':{con:zc}}) # update one item
×××××××××××××××批量update ××× multi=true ××××××××××××××××××××××××××××××××
db.locinfo.update({con:lon},{'$set':{wkey: sht }},multi=true) #ok,# update multiple items
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
3。insert # 插入数组,及一般字符窜
db.wbinfo.insert({city:cityname,jiaojing:[jiaojing],lukuang:lukuang,})
4。push 、 pop 插入数组,删除数组元素
db.wbinfo.update({city:六安市},{'$push':{jiaojing:two,lukuang:lk}})
db.wbinfo.update({city:六安市},{'$pop':{jiaojing:two,lukuang:lk}})
5. 正则查询
res = db.devices.find({'$and':[{'stats.devcaps':{'$exists':true}},{'stats.fwver':{'$regex':'.*n91|n92.*'}}]}) # stats.fwver 字段包含字符 'n91' 或者 'n92'
6.字典
if devcap.has_key('dev') and devcap.has_key('cap'):
7.
python操作mongodb根据_id查询数据的代码
objectid pymongo python
如果pymongo的版本号小于2.2,使用下面的语句导入objectid
from pymongo.objectid import objectid
如果pymongo的版本号大于2.2,则使用下面的语句
from bson.objectid import objectid
查询代码如下:
collection.find_one({'_id':objectid('50f0d76347f4ec148890ef1e')})