所以我有一个名为'abcd'的mongo集合,在我的集合中我正在创建名为'token'的索引。我知道TTL需要绑定到mongo中的ISO datetime对象作为索引,或作为数组的一部分。
在向'token'添加索引时,我没有成功获取令牌到期。所以我将created_timestamp
ISO日期对象添加到我的令牌索引的“数据”数组中。
我的问题是,如何将expireAfterSeconds=10
属性用于数据数组的created_timestamp对象。我的目标是在10秒后删除整个令牌索引。这是我的“令牌”文档的json:
{
"_id" : ObjectId("5a7dec4189284441fe9aa1fc"),
"token" : "RfAQ3W",
"data" : "{\"token\": {\"user_id\": 308, \"exp\": 151821111, \"team_code\": 1022, \"created_timestamp\": \"2018-02-09T18:45:24.823785\}}"
}
我希望能够在created_timestamp
10秒后使我的令牌到期,这是生成令牌的ISO日期到mongodb
我正在使用: Pymongo 3.4 Mongoengine 0.13 Python 2.7
答案 0 :(得分:0)
为什么不用Date()值创建一个新字段'created_at'并将其设为TTL索引而不是将其放在数组中?
毕竟这整个文件将在10秒后删除。