Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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 使用Flask的MongoEngine。日期时间字段出错_Python_Mongodb_Datetime_Flask Mongoengine - Fatal编程技术网

Python 使用Flask的MongoEngine。日期时间字段出错

Python 使用Flask的MongoEngine。日期时间字段出错,python,mongodb,datetime,flask-mongoengine,Python,Mongodb,Datetime,Flask Mongoengine,我有一个带有日期时间字段的模型 user_since = db.DateTimeField() 当我尝试将模型的新对象插入mongo时,没有错误。但写作并没有成功 我将对象从打印到json,并尝试使用mongoshell插入它,我得到以下错误 field names cannot start with $ [$date] at src/mongo/shell/collection.js:L147 to_json具有此字段 "user_since": {"$date": 13922055729

我有一个带有日期时间字段的模型

user_since = db.DateTimeField()
当我尝试将模型的新对象插入mongo时,没有错误。但写作并没有成功

我将对象从打印到json,并尝试使用mongoshell插入它,我得到以下错误

field names cannot start with $ [$date] at src/mongo/shell/collection.js:L147
to_json具有此字段

"user_since": {"$date": 1392205572989}
我似乎找不到任何解决这个问题的方法

是什么导致写入失败

如何使mongoengine在写入失败时抛出错误。?或者至少找出错误是什么

谢谢

更新:
正如我后来发现的,真正的问题不是datetime字段。问题的详细信息在此问题中

对于MongoDB,字段名的开头不能有“$”

:

字段名不能包含点,即..,美元符号,即$,或 空字符。请参阅以获得替代方案 接近

试着用不同的名字来命名

编辑: 根据,您可以传递db_name参数:

db_field–用于存储此字段的数据库字段,默认为 字段名称


我没有使用pymongo。我不是自己命名$date字段的。我刚刚制作了定义日期时间字段的mongoengine模型。有没有办法找到写入失败的原因?试试:DateTimeFieldDdb_field='date'你能提供更多关于写入的上下文吗?另外,你能透露整个模型吗?请在这个问题中找到细节。