gpt4 book ai didi

python - Pymongo $currentDate 对于存储无效

转载 作者:太空宇宙 更新时间:2023-11-03 16:13:18 24 4
gpt4 key购买 nike

这是我第一次使用 pymongo。我有一种方法可以更新文档中的用户数据。例如,当您登录时,它应该更新lastLog字段,该字段指示用户上次登录的时间。

这就是方法

    def update_user(self, mongo, field, value=None):
print self.username
if field != 'lastLog':
result = mongo.db.Users.update(
{'username': self.username},
{
'$set': {
field: value
}
}
)
else:
result = mongo.db.Users.update(
{'username': self.username},
{
'$set': {
'$currentDate': {
'LastLog': {
"$type": "timestamp"
}
}
}
}
)
if result.matched_count != 1:
#NEEDLOG
print "No update performed"
return False

但是,每次登录时,我都会收到此错误:

WriteError: The dollar ($) prefixed field '$currentDate' in   '$currentDate' is not valid for storage.

这是文档在 MongoDB 中的样子

db.Users.find() { "_id" : ObjectId("57b64e1330e6e23b7d050c76"), "username" : "arecalde-contractor", "lastLog" : null, "Name" : "Agustin Recalde", "url" : "/profile/arecalde-contractor", "role" : "Admin", "active" : true, "id" : "9249" }

我很确定我正确地遵循了文档。我错过了什么吗?提前致谢!

最佳答案

我修好了。我做错了。 else 中的代码现在看起来像这样

    else:
result = mongo.db.Users.update_one(
{'username': self.username},
{
'$currentDate': {
'lastLog': {'$type': 'timestamp'}
}
}
)

关于python - Pymongo $currentDate 对于存储无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39088579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com