アプリ内のドキュメントのコレクションに TTL を設定する必要がありますが、それらのドキュメントを別のコレクションから参照する必要があり、これがどのように機能するかわかりません。
ドキュメントに TTL を設定すると、有効期限が切れたときにそのドキュメントが他のすべての参照ドキュメントから削除されますか?それとも、mongoDb の TTL インデックスを使用せずにバックエンド プロセスを自分で作成する必要がありますか?
私が望む機能のスキーマの例:
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
createdAt: { type: Date, expires: 60*60*24 },
title : String,
fans : [{ type: Number, ref: 'Person' }]
});
var Story = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);
したがって、1日後にストーリードキュメントは期限切れになり、その人から期限切れになるにはそのストーリーへの参照が必要になります