Folks, 我只是花了很多时间试图查看这个 - 我应该缺少一些基本的东西。在mongodb中插入python对象
我有一个python对象,我想要做的就是在mondodb中插入这个对象。
这是我有:
from pymongo import Connection
import json
conn = Connection()
db = conn.cl_database
postings = db.postings_collection
class Posting(object):
def __init__(self, link, found=None, expired=None):
self.link = link
self.found = found
self.expired = expired
posting = Posting('objectlink1')
value = json.dumps(posting, default=lambda x:x.__dict__)
postings.insert(value)
抛出这个错误:
Traceback (most recent call last):
File "./mongotry.py", line 21, in <module>
postings.insert(value)
File "build/bdist.macosx-10.7-intel/egg/pymongo/collection.py", line 302, in insert
File "build/bdist.macosx-10.7-intel/egg/pymongo/database.py", line 252, in _fix_incoming
File "build/bdist.macosx-10.7-intel/egg/pymongo/son_manipulator.py", line 73, in transform_incoming
TypeError: 'str' object does not support item assignment
好像那是因为json.dumps()返回一个字符串。
现在,如果我不将之前做一个负荷值的正常工作:
posting = Posting('objectlink1')
value = json.dumps(posting, default=lambda x:x.__dict__)
value = json.loads(value)
postings.insert(value)
什么是最直接做到这一点?
谢谢!
对不起,我意识到我错过了一条线,只是编辑了问题。 – helpmelearn 2012-04-24 05:55:20
但是使用'Posting'类有什么意义? – San4ez 2012-04-24 05:57:56
Jeez,没错。谢谢,感到愚蠢的错过了一些如此愚蠢的事情。 – helpmelearn 2012-04-24 05:57:58