首页 文章

在我的数组中的created_timestamp对象上设置TTL(expireAfterSeconds)

提问于
浏览
0

所以我有一个名为'abcd'的mongo集合,在我的集合中我正在创建名为'token'的索引 . 我知道TTL需要绑定到mongo中的ISO datetime对象作为索引,或作为数组的一部分 .

在向我的'token'添加索引时,我没有成功获得令牌到期 . 所以我将 created_timestamp ISO日期对象添加到我的令牌索引的"data"数组中 .

我的问题是,如何将 expireAfterSeconds=10 属性用于数据数组的created_timestamp对象 . 我的目标是在10秒后删除整个令牌索引 . 这是我的'token'文档的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秒后使我的令牌到期,这是令牌生成为mongodb的ISO日期

我正在使用:Pymongo 3.4 Mongoengine 0.13 Python 2.7

1 回答

  • 0

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

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

相关问题