2017-08-20 4 views

Antwort

1

Ja, gibt es. Sie müssen die Indizes partialFilterExpression und expiresAt einstellen. Funktioniert nur bei mongodb 3.2+

-Code unten wird Dokument nach 24 h nur entfernen, wenn payed Eigenschaft false gleich:

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}}); 
+1

Links zu der entsprechenden Dokumentation hinzufügen und zu erklären, wie es funktioniert Ihre Antwort erheblich verbessern würde. –

Verwandte Themen