是否可以拥有一个日期时间字段,该字段在保存期间具有默认服务器生成时间?
WHERE t1.address regexp t2.place
这个模型有两个问题:
class ADoc(Document):
...
created_at = me.DateTimeField(default=datetime.datetime.utcnow)
将在模型实例创建期间获取值,而不是将文档保存到数据库中的时间。
使用客户端时间,可能与服务器时间不同 - 我希望始终将服务器时间用作时间源。
答案 0 :(得分:2)
也许您可以使用运算符$currentDate?
<强> UPD 强>: 我喜欢pymongo,但我认为可以用于MongoEngine,你可以试试:
collection = Animal._get_collection()
collection.update({}, {"$currentDate": {"date": 1}}, upsert=true)
答案 1 :(得分:0)
默认情况下,_id
字段包含创建时的时间戳
您可以像ObjectId("507c7f79bcf86cd7994f6c0e").getTimestamp()
一样访问它。
答案 2 :(得分:0)
我会在我的ADoc类中使用insert方法定义:
Comparable.class.isAssignableFrom(String.class)
然后只需在需要时执行该方法
from datetime import datetime
class ADoc:
def __init__(self, db, config):
self.docs= db['docs']
self.config = config
def insert(self, document):
item = {
'name': document['name'],
'created': datetime.utcnow()
}
self.docs.insert_one(item)