对于以下问题,我需要一些帮助/建议。我编写了一个程序,该程序可读取推文,并在推文中有匹配的关键字时向用户授予分数。然后,我将推文ID存储在数据库中,以使用户无法“欺骗”并将同一条推文赎回。该数据库当前看起来像这样。
{
"_id": {
"$oid": "5bd15b68b6a8dfb7b1177dbe"
},
"handle": "twitterhandle",
"member_id": "0000000",
"points": 3,
"tweets": [
"tweet1",
"tweet2",
"tweet3"
]
}
每隔24小时,我想将tweets字段重置为None-但是,我似乎找不到用TTL进行此操作的方法-似乎唯一的选择是删除所有字段,而不是就是我想要的。可以用pymongo做到这一点吗?
答案 0 :(得分:0)
我想你可以做这样的事情:
TweetSchema :
{
"tweet": onlyOneTweet
"handle": "twitterhandle",
"member_id": "0000000",
"points": 3,
"createdAt":{
type:Date,
default:Date.now,
expires: (60*60*24) // 1 day
},
过期将自动删除24小时之前创建的所有文档。 当您具有memberId引用时,您可以从一个用户检索所有推文。 我不确定您是否可以将TTL用于SubDocument,因为该功能用于删除文档。