猫鼬到期
我有以下模式:猫鼬到期
ip: String, port: Number,
msgboard: [{
date: {
type: Date,
default: Date.now,
expires: 120
},
msg: String
}]
我想从创建120秒后自动删除的消息。但上面的删除是整个文件,而不仅仅是来自msgboard的subdoc。 我一直在使用cron并运行一个函数,但代码看起来太凌乱了。有没有内在的方法?
回答:
我认为你应该试试这个,它的工作。 我已经创建了两个模式针对此问题
msgboard架构:
var mongoose = require('mongoose'); var Schema = mongoose.Schema;
var msgboardSchema = new Schema({
date: {
type: Date,
default: Date.now,
expires: 120
},
msg: String
});
module.exports = mongoose.model('msgboard', msgboardSchema);
主测试模式:在其中msgboard的引用存储
var mongoose = require('mongoose'); var Schema = mongoose.Schema;
var TestSchema = new Schema({
ip : { type : String },
port : { type : String },
msgboard : [{type : Schema.Types.ObjectId, ref : 'msgboard'}]
});
module.exports = mongoose.model('Test', TestSchema);
作为msgboard是从单独的测试,这只会在120s后从Test中删除msgboard subdocumet,而不是整个测试文档。
以上是 猫鼬到期 的全部内容, 来源链接: utcz.com/qa/260562.html