嗨,我在 mongodb 中遇到了一个称为 ttl 的概念,并在使用 mongoose 的插入操作中尝试了相同的概念。下面是代码
mongoose = require('mongoose');
var Schema = mongoose.Schema;
var META_CTS_DB = mongoose.createConnection('mongodb://localhost/META');
var ttl= require('mongoose-ttl');
var date1=new Date();
var ServiceSchema = new Schema({
_id:String,
CURDATE:{type:Date,index:true},
SERVICE_PROTOCOL:String,
});
ServiceSchema.plugin(ttl, { ttl:5000 });
var MasterDBdata = META.model('ServiceSchema',ServiceSchema,'API_KEY_91994094177912_SERVICE_ID_0008_SERVICE_CONFIG');
var item = new MasterDBdata({'_id':'SERVICE_ID_0006','CURDATE':date1,'SERVICE_PROTOCOL':'Nil'});
item.save();
ttl 对此工作正常,并且集合确实被删除了。但是当我对更新功能执行相同的操作时,如下所示
MasterDBdata.update({'_id':'SERVICE_ID_0006'},{'CURDATE':date1,'SERVICE_PROTOCOL':'hhl'},{upsert:true},function (err){
if (err) return handleError(err);
console.log('\n data stored in Database...')});
ttl 函数似乎无法正常工作。关于 ttl 的行为及其在这些函数上的性能的任何想法都会非常有帮助。提前致谢