Node.js TTL 无法使数据过期
Node.js TTL Not working to expire data
请帮忙,我正在使用 node.js 和 mongodb 我想使用 TTL(生存时间)使我的数据库中的集合过期,但它不起作用并且会显示错误: TypeError: Cannot read 属性 'createIndex' of undefined 这是我的代码:
提前致谢
var MongoClient = require('mongodb').MongoClient;
var mongodbURI = 'mongodb://localhost:27017/ex1';
var startDate = new Date();
MongoClient.connect(mongodbURI,setupCollection);
function setupCollection(err, db) {
if(!err) {
console.log("We are connected");
collection=db.collection("test1");
db.test1.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 300 } )
}
}
这种语法
db.test1
mongo
shell 支持获取集合,但是当使用 node.js
驱动程序时,您必须像这样获取集合:
db.collection("test1")
所以你的情况是这样的:
db.collection("test1").createIndex( { "createdAt": 1 }, { expireAfterSeconds: 300 } )
Here is 相关文档。
请帮忙,我正在使用 node.js 和 mongodb 我想使用 TTL(生存时间)使我的数据库中的集合过期,但它不起作用并且会显示错误: TypeError: Cannot read 属性 'createIndex' of undefined 这是我的代码: 提前致谢
var MongoClient = require('mongodb').MongoClient;
var mongodbURI = 'mongodb://localhost:27017/ex1';
var startDate = new Date();
MongoClient.connect(mongodbURI,setupCollection);
function setupCollection(err, db) {
if(!err) {
console.log("We are connected");
collection=db.collection("test1");
db.test1.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 300 } )
}
}
这种语法
db.test1
mongo
shell 支持获取集合,但是当使用 node.js
驱动程序时,您必须像这样获取集合:
db.collection("test1")
所以你的情况是这样的:
db.collection("test1").createIndex( { "createdAt": 1 }, { expireAfterSeconds: 300 } )
Here is 相关文档。