python motor create_index在过期时间后不会删除raw

时间:2018-05-13 19:49:11

标签: python mongodb pymongo python-asyncio

我的项目中有以下测试:

async def test_expire_at(
        aiohttp_client, mongo_collection):

    await mongo_collection.delete_many({})

    await mongo_collection.create_index([("expireAt", 1)],
                                        expireAfterSeconds=0)

    expire = datetime.utcnow() + timedelta(seconds=5)

    await mongo_collection.update_one(
        {'key': '123'},
        {
            "$set":
                {
                    'key': '123',
                    'data': {},
                    'expireAt': expire
                }
        },
        upsert=True)

    await asyncio.sleep(10)

    count = await mongo_collection.count()
    assert count == 0

我预计count之后应该等于0因为ttl index会在5秒后删除raw。我使用motor==1.2.1和最新的泊坞窗图片** https://hub.docker.com/_/mongo/。我不知道那里有什么问题:) 提前谢谢。

0 个答案:

没有答案