Also ich versuche, eine Ansicht wie SQL in Mongo dB zu erstellen. Da mir bewusst ist, dass dies nicht direkt erreicht werden kann, habe ich eine Aggregatfunktion geschaffen. Diese komplexe Aggregatfunktion führt genau das aus, was ich tun muss, und lädt den Wert in eine neue Sammlung.Update Collections in Mongo DB automatisch
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({});
Das ist gut und die Abfrage funktioniert .. Nun, ich versuche ich diese Sammlung häufig zu aktualisieren, da ich nicht Ansichten verwenden, so dass ich als Ansicht dienen kann. Gibt es eine Option wie einen Scheduler, den ich konfigurieren kann, um alle 10 Minuten zu laufen oder gibt es neue Out-of-Box-Optionen zur Verfügung? oder mache ich es völlig falsch?