我的第一个mongo插入(python)

2024-04-26 05:25:56 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试插入第一条如下所示的数据:

{
    "city": "Oakland", 
    "latitude": "37.800427", 
    "longitude": "-122.275880", 
    "state": "California", 
    "zipcode": "94607"
}

当我打电话给:

^{pr2}$

我收到以下错误消息:

Traceback (most recent call last):
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 3.4.1\helpers\pydev\pydevd_comm.py", line 930, in doIt
    result = pydevd_vars.evaluateExpression(self.thread_id, self.frame_id, self.expression, self.doExec)
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 3.4.1\helpers\pydev\pydevd_vars.py", line 239, in evaluateExpression
    Exec(expression, updated_globals, frame.f_locals)
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 3.4.1\helpers\pydev\pydevd_exec.py", line 3, in Exec
    exec exp in global_vars, local_vars
  File "<string>", line 1, in <module>
  File "C:\Anaconda\lib\site-packages\pymongo\collection.py", line 409, in insert
    gen(), check_keys, self.uuid_subtype, client)
  File "C:\Anaconda\lib\site-packages\pymongo\collection.py", line 386, in gen
    doc['_id'] = ObjectId()
TypeError: 'str' object does not support item assignment

什么给予?在

我要插入的对象是由类本身中嵌入的以下函数生成的:

def to_JSON(self):
    return json.dumps(self, default=lambda o: o.__dict__,
        sort_keys=True, indent=4)

Tags: inpycommunityselflinefilesvarsprogram
1条回答
网友
1楼 · 发布于 2024-04-26 05:25:56

不需要将字典转储为JSON字符串,只需将字典本身传递给insert()。在

引用tutorial中的一句话,应该可以把事情弄清楚:

Data in MongoDB is represented (and stored) using JSON-style documents. In PyMongo we use dictionaries to represent documents.

相关问题 更多 >