这是我的代码...请仔细阅读。 这会自动删除记录而不提及秒数。 我改变了createindex以确保索引...但仍然没有工作
var mongo = require('mongodb');
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/testing5";
var extend;
var time = "3600";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbase = db.db("testing5");
var myobj = ({
"name": "Adnan khan",
"email": "xyz@gmail.com",
"createdAt": new Date(),
});
dbase.collection("log_events").createIndex({ "createdAt": 1 }, { expireAfterSeconds: time })
dbase.collection("log_events").insertOne(myobj, function(err, result) {
if (err) throw err;
resultant = result
console.log("data inserted and will be deleted approximately after 20 seconds");
db.close();
});
});
答案 0 :(得分:0)
您需要将ttl值指定为数字。所以不要写
var time = "3600";
尝试写作
var time = 3600;
另外,请注意,这是3600秒,所以1小时而不是20分钟......