में पाइथन ऑब्जेक्ट डालें दोस्तों, मैंने इसे देखने की कोशिश करने में काफी समय बिताया - मुझे कुछ बुनियादी याद आना चाहिए।mongodb
मेरे पास एक पाइथन ऑब्जेक्ट है, मैं बस इतना करना चाहता हूं कि इस ऑब्जेक्ट को मॉन्डोड में डालें।
यह है कि मैं क्या है:
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
लेकिन 'पोस्टिंग' कक्षा का उपयोग करने में क्या बात है? – San4ez
जीज़, यह सही है। धन्यवाद, मूर्खतापूर्ण महसूस करें कि कुछ मूर्खतापूर्ण है। – helpmelearn