2017-01-06 14 views
1

Пожалуйста, помогите, я использую node.js и mongodb. Я хочу использовать TTL (Time To Live) для истечения срока действия коллекции в моей базе данных, но она не работает, и ошибка покажет : TypeError: не удается прочитать свойство «CreateIndex» неопределенных и вот мой код: спасибо заранееNode.js TTL Не работает для истечения срока действия данных

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

     } 
} 
+0

попробуйте этот 'db.collection (" test1 "). CreateIndex (....' –

ответ

0

Этот синтаксис

db.test1 

получить коллекцию поддерживается mongo оболочки, но при использовании node.js вам необходимо получить такую ​​коллекцию :

db.collection("test1") 

так что в вашем случае это так:

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

Here is соответствующие документы.

+0

Спасибо своим работам –