Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python mongoengine模型中只保存一个字段_Python_Mongodb_Mongoengine - Fatal编程技术网

Python mongoengine模型中只保存一个字段

Python mongoengine模型中只保存一个字段,python,mongodb,mongoengine,Python,Mongodb,Mongoengine,我遇到一个问题,mongoengine模型上只保存了一个字段 以下是类定义: from mongoengine import * connect('leads') class Contact(Document): name = StringField() email = StringField() phone = StringField() company = StringField() title = StringField() message = StringFi

我遇到一个问题,mongoengine模型上只保存了一个字段

以下是类定义:

from mongoengine import *

connect('leads')

class Contact(Document):
  name = StringField()
  email = StringField()
  phone = StringField()
  company = StringField()
  title = StringField()
  message = StringField()
在python终端中,我运行:

>>> from Contact import Contact
>>> contact = Contact(name='myrtle williams', email='myrtlewilliams@gmail.com', phone='1234567890', title='president', message='asdfsadf')
>>> contact.save()
然后,在mongo中,我进行查询,看到的只是一个保存了字段“message”的文档:


为什么其余的字段没有保存?

我试着运行你的代码,它对我来说很好(mongodb 1.8.2,mngoengine 0.6.20,pymongo 2.2.1)


您最有可能遇到的问题与mongoengine的一个旧版本有关。

您的测试代码看起来很好,并且mongoengine在0.4天内加入项目之前就有类似的测试用例来确保它

对于不同的数据,我可以想到两个可能的原因:

  • 数据库中有旧的测试数据-来自以前版本的
    Contact
  • 您正在导入与执行以下操作时描述的不同定义的文档:
    从联系人导入联系人

  • 我使用的是:mongodb 2.0.7、mongoengine 0.6.18和pymongo 2.2.1。升级mongoengine 0.6.20现在可以保存更多的字段,但不是全部。@OvedD缺少哪些字段?如果您指的是公司,则contact=contact(…)呼叫中缺少该公司。
    {
        "_id" : ObjectId("503cfa86d0d9b317a258e136"),
        "_types" : [
            "Contact"
        ],
        "message" : "asdfsadf",
        "_cls" : "Contact"
    }
    
    { 
        "_id" : ObjectId("503cfceb6cb71a38d4a4cd4e"), 
        "_types" : [ "Contact" ], 
        "name" : "myrtle williams", 
        "title" : "president", 
        "phone" : "1234567890", 
        "_cls" : "Contact", 
        "message" : "asdfsadf", 
        "email" : "myrtlewilliams@gmail.com" 
    }