リストの中の一行を消したい

removeは駄目ー。
updateを使い給え。

from pymongo import Connection
con = Connection('localhost', 27017)
db = con['gazodb']
tbl = db['log']
tbl.update({'no': 95}, {'$pull': {'res':{'no':97}}})

no.95のデータにある、resのなかのno.97のデータのみを削除する。

なお、こちらだとno.95がまるっと消える。

tbl.remove({'res.no':97})

そういうことをしたい場合は、いいんじゃないでしょうか。

参考:
http://stackoverflow.com/questions/7846109/how-to-remove-a-item-from-a-listlistfield-by-id-in-mongoengine


だんだんDBを取り扱うクラスがぐちゃぐちゃしてきた・・・。