Node.js TTL无法使数据到期

时间:2017-01-06 07:49:09

标签: node.js ttl

请帮助,我使用node.js和mongodb我想使用TTL(Time To Live)来使我的数据库上的集合到期,但它不起作用并且会显示错误:TypeError:无法读取属性&#39 ;的createIndex'未定义的,这是我的代码: 提前谢谢

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 } )

        }
 }

1 个答案:

答案 0 :(得分:0)

此语法

db.test1
mongo shell支持获取集合的

,但在使用node.js驱动程序时,您必须获取如下集合:

db.collection("test1")

所以在你的情况下,就像这样:

db.collection("test1").createIndex( { "createdAt": 1 }, { expireAfterSeconds: 300 } )

Here is相关文档。