Mongo dBでSQLのようなビューを作成しようとしています。私はこれが直接達成できないことを知っているので、私は集約関数を作成しました。この複雑な集約関数は、私が行う必要があるものを正確に行い、新しいコレクションに値をロードします。Mongo DBのコレクションを自動的に更新する
db.User.aggregate([
{$limit:5}
{$lookup: {
from: "Interactions",
localField: "_id",
foreignField: "userId",
as: "InteractionsView"}
},
{$project: {
"userCount": "$User.Count",
.
.
.
. //(All fields i need are added here)
"InteractionsView.Pages" : {
$filter: {
input: "$InteractionsView.Pages",
as: "num",
cond: { $gte: [ "$$num.Datetime", new Date("2015-06-14T20:15:31Z")] }
}
}
}},
{$out:"ReportView"}
])
db.ReportView.find({});
私はビューを使用することはできませんので、私はビューとしての役割を果たすことができるように頻繁にこのコレクションを更新しようとしています、今。これは良いですし、クエリが動作します。スケジューラのようなオプションがありますか?10分ごとに実行するように設定することができますか?そうするために利用可能な新しいアウトオブボックスオプションがありますか?または私はそれを完全にすべて間違っているのですか?