最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

猫鼬期满

IT培训 admin 7浏览 0评论

猫鼬期满

我有以下架构:

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子文件而不是整个测试文档。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论