在我的数组

时间:2018-02-09 19:21:23

标签: python mongodb ttl pymongo-3.x

所以我有一个名为'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

1 个答案:

答案 0 :(得分:0)

为什么不用Date()值创建一个新字段'created_at'并将其设为TTL索引而不是将其放在数组中?

毕竟这整个文件将在10秒后删除。