猫鼬-在模型级别(而非架构级别)创建TTL索引

时间:2018-11-27 00:38:36

标签: mongodb mongoose ttl

在Mongoose中,您可以在模型创建级别指定索引

var mongoose = require('mongoose')
var Schema = mongoose.Schema;
dbConnection = require('./db_connect.js');

var lot = new Schema({
    contact: String,
    savedAt: {type: Date, default:Date.now, },
  provider: String,
});

lotModel = mongoose.model('mos', lot);
lotModel.createIndexes({savedAt: 1, expires: 5});

let snail = new lotModel({
    contact: "ls",
    provider: "Bamboo"
})
snail.save();

或在架构级别

var mongoose = require('mongoose')
var Schema = mongoose.Schema;
dbConnection = require('./db_connect.js');

var lot = new Schema({
    contact: String,
    savedAt: {type: Date, default:Date.now, expires: 5},
  provider: String,
});

lotModel = mongoose.model('mos', lot);

let snail = new lotModel({
    contact: "ls",
    provider: "Bamboo"
})
snail.save();

我试图使用两种方法保存相同的文档(蜗牛)。 在mongo shell中检查它是否计时(即文档在5秒钟后过期)后,发现最后一个方法正在工作,但第一个方法尚未使用,因为我将使用以下方法创建多个模型相同的架构,只有一个架构具有ttl行为。
注意:数据库连接为replset类型。

0 个答案:

没有答案