使用bson.objectid更新MongoDB数据的笔记
我正在持续学习bottle.py和MongoDB。我试图通过在MongoDB的collection中选择一个ObjectID来更新数据,但由于遇到错误而花了很长时间,所以我想把这个过程记录下来。
mongoDB看起来像JSON,实际上是使用BSON(不太理解)。
BSON的事情就交给bson去处理。
完成的感觉就是这样。
from pymongo import MongoClient
from bson.objectid import ObjectId
@app.route('/count', method='POST')
def count():
myid = request.forms.get('myid')
conn=pymongo.Connection()
db=conn.mydb
db.mycol
mydata=db.mycol.find_one({"_id":ObjectId(myid)})
mydata['count'] += 1
db.mycol.save(mydata)
return redirect('/main')
這裡的參考資料可以幫助解決問題。
http://stackoverflow.com/questions/19731153/pymongo-find-by-id-in-subdocuments
- 現在地点メモ
在MongoDB使用中经常遇到问题的原因大多与bson相关。
通常会通过在stackoverflow上查找并复制粘贴脚本的方式来解决。