Ich lerne einen Knoten und habe versucht, Mungo zu verwenden. Derzeit ist mein Ziel zu lernen, wie man populate verwendet.Wie sollte ich richtig mit Mungo bevölkern?
Ich habe eine projects
Definition und milestone
erfordern:
projectSchema = new mongoose.Schema({
id: String,
title: String,
description: String,
owner: String,
site: String,
creation_date: Date,
milestone_ids: Array,
milestones: [{
type: mongoose.Schema.Types.ObjectId,
ref: "Milestone"
}]
})
Project = mongoose.model("Project", projectSchema)
milestones = require(__dirname + "/milestones.js")();
Dann irgendwann ich tue dies in den projects.js
:
Project.find(query, {}, {sort: {_id: -1}},
function (error, results) {
callback(results);
}
).populate("milestones");
Wie fülle ich die Meilensteine?
Hier wird die project
Daten von Mongo sind:
{
"title": "sitename",
"description": "online thing",
"creation_date": {
"$date": "2013-07-11T19:45:42.139Z"
},
"_id": {
"$oid": "51df0b66dbdd7c4f14000001"
},
"milestones": [],
"milestone_ids": [],
"__v": 0
}
Und dies ist die milestone
, die im Grunde mit dem Projekt verbunden ist:
{
"title": "Proof of concept",
"description": "Make it work.",
"due_date": {
"$date": "2013-07-11T19:46:38.535Z"
},
"project_id": "51df0b66dbdd7c4f14000001",
"_id": {
"$oid": "51df0b9edbdd7c4f14000002"
},
"__v": 0
}
Auch dies ist das Meilenstein-Schema :
milestoneschema = new mongoose.Schema({
id: String,
title: String,
description: String,
owner: String,
site: String,
due_date: Date,
project_id: {
type: String,
ref: "Project"
}
})
Milestone = mongoose.model("Milestone", milestoneschema);
Ok, alle Dinge, die Sie absolut Sinn machen, schrieb. Das Schlimme ist, dass die Meilensteine immer noch nicht bevölkert sind. Ich bekomme dort genau wie vorher eine leere Matrix. –
Überprüfen Sie Ihre Daten doppelt? –
Auch wenn Sie mehr Code veröffentlichen, können wir nach einfachen Tippfehlern und so weiter suchen. Der Teufel ist hier im Detail, da Mungo-Drähte all dies zusammenführen, basierend auf String-Namen mit verwirrenden Dingen wie Auto-Pluralisierung. Eine Sache in Kleinbuchstaben oder Singular falsch und Sie erhalten falsches Verhalten und keine Fehler. Von deinem Snippet sieht alles auf den ersten Blick gut aus. –