我知道这个问题还有其他问题;没有,(我已经尝试过),已经解决了我的问题。
使用MongoDB 3.2.1,Mongoose 4.4.x,Node 0.12.9或4.2.6。
Mongoose Schema看起来像:
var schema = new Schema({
userId: {type: Schema.Types.ObjectId, ref: 'User', required: true},
createdAt: {type: Date, required: true, default: Date.now, expires: 10}
});
在Mongo Shell和RoboMongo中都验证了索引:
我尝试在不同的字段上设置TTL索引,使用不同的创建索引的方法,以及其他一些东西。然而,即使将文件放在一夜之后,文档仍然存在,并将createdAt
字段编辑为过去的时间。
思想?
答案 0 :(得分:0)
我有MongoDB 3.2并测试了以下代码片段的解决方案。
var MongoClient = require('mongodb').MongoClient,
assert = require('assert'),
mongoose = require('mongoose'),
Schema = mongoose.Schema;
var url = "mongodb://localhost:27017/test"
mongoose.connect(url);
var schema = new Schema({
userId: {
type: Schema.Types.ObjectId,
ref: 'User', required: true
},
createdAt: {
type: Date,
required: true,
default: Date.now,
expires: 10
}
});
var User = mongoose.model('User', schema);
var user = new User({ userId: new mongoose.Types.ObjectId });
user.save(function(err, doc) {
if (err) {
console.log(err);
}
mongoose.disconnect();
});
我看到文档在一分钟后(大约10秒钟)大致被清除。我建议你去买最新的猫鼬,然后再试一次。