使用Pymongo,如何从数据库中的表单插入数据?

时间:2012-01-25 02:32:33

标签: python mongodb pymongo

我正在尝试做这样的事情:

info = ([request.form['author'], request.form['title'], request.form['text']])  
mongo.db.posts.insert(info, safe=True)

但我得到一个TypeError:'unicode'对象不支持项目分配。

这是堆栈跟踪中的最后一行:

if not "_id" in son:
    son["_id"] = ObjectId()
    return son

1 个答案:

答案 0 :(得分:0)

使用Pymongo时,您的文档必须是dict,而不是列表。

尝试:

info = {"author": request.form['author'], "title": request.form['title'], "text": request.form['text']}

或:

info = {"info": [request.form['author'], request.form['title'], request.form['text']]}

任何更接近你的模型的想法。


实际上,这种错误记录了save()和update()方法的集合,但不是insert():

  

如果to_save不是dict的实例,则引发TypeError。

pymongo collection docs