[英]Mongoose conditional TTL for document
有什么方法可以仅根据当前文档状态为某些文档设置expiresAt
索引吗?
就在这里。 您需要同时设置partialFilterExpression和expiresAt索引。 仅适用于mongodb 3.2+
以下代码仅在payed
属性等于false
下,才会在24小时后删除文档:
let billingSchema = new mongoose.Schema({
_id:type:Number,
summ:{
type:Number,
required:true
},
description:String,
payed:{
type:Boolean,
default:false,
index:true
},
ownerId:{
type:mongoose.Schema.Types.ObjectId,
ref:'User',
index:true
}
},{timestamps: true,_id: false});
billingSchema.index({createdAt: 1},{expireAfterSeconds: 24*60*60,partialFilterExpression : {payed: false}});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.