猫鼬期满
我有以下架构:
ip: String,
port: Number,
msgboard: [{
date: {
type: Date,
default: Date.now,
expires: 120
},
msg: String
}]
我希望在创建120秒后自动删除邮件。但上面的删除是整个文档而不仅仅是msgboard中的子文件。我一直在使用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与Test分开,因此只会在120秒后从Test中删除msgboard子文件而不是整个测试文档。
猫鼬期满
我有以下架构:
ip: String,
port: Number,
msgboard: [{
date: {
type: Date,
default: Date.now,
expires: 120
},
msg: String
}]
我希望在创建120秒后自动删除邮件。但上面的删除是整个文档而不仅仅是msgboard中的子文件。我一直在使用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与Test分开,因此只会在120秒后从Test中删除msgboard子文件而不是整个测试文档。