मैं अपने अनुप्रयोग के लिए एक लॉग कीपर के रूप में MongoDB उपयोग कर रहा हूँ तो उस पर मोबाइल ग्राहकों सिंक आबाद।नेवला: एक आबादी वाले क्षेत्र
var UserArticle = new Schema({
date: { type: Number, default: Math.round((new Date()).getTime()/1000) }, //Timestamp!
user: [{type: Schema.ObjectId, ref: "User"}],
article: [{type: Schema.ObjectId, ref: "Article"}],
place: Number,
read: Number,
starred: Number,
source: String
});
mongoose.model("UserArticle",UserArticle);
var Log = new Schema({
user: [{type: Schema.ObjectId, ref: "User"}],
action: Number, // O => Insert, 1 => Update, 2 => Delete
uarticle: [{type: Schema.ObjectId, ref: "UserArticle"}],
timestamp: { type: Number, default: Math.round((new Date()).getTime()/1000) }
});
mongoose.model("Log",Log);
जब मैं लॉग मैं follwing कोड का उपयोग पुनर्प्राप्त करना चाहते हैं:
var log = mongoose.model('Log');
log
.where("user", req.session.user)
.desc("timestamp")
.populate("uarticle")
.populate("uarticle.article")
.run(function (err, articles) {
if (err) {
console.log(err);
res.send(500);
return;
}
res.json(articles);
आप देख सकते हैं, मैं नेवला को भरने के लिए चाहते हैं "uarticle" मैं इस मॉडल NodeJS में स्थापित है लॉग संग्रह से फ़ील्ड और फिर, मैं UserArticle ("uarticle") के "आलेख" फ़ील्ड को पॉप्युलेट करना चाहता हूं।
लेकिन, इस कोड का उपयोग, नेवला केवल "uarticle" UserArticle मॉडल का उपयोग कर, लेकिन नहीं लेख क्षेत्र uarticle के अंदर भरता है।
यह नेवला का उपयोग कर इसे पूरा करने के लिए और पॉप्युलेट() या मैं कुछ और करना चाहिए संभव है?
मैं क्या दस्तावेज में देख लिया है से धन्यवाद,
मैं एक ही समस्या है, जहां संदर्भ में अंतर्निहित है आई है का उपयोग किए बिना किया जा सकता है एक सरणी -> myList: [{mid: {type: Schema.ObjectId, 'ref': 'OtherModel'}, मेटा: [स्ट्रिंग]}]। जब मैं कोशिश करता हूं तो यह निम्न त्रुटि उत्पन्न करता है .populate ('myList.mid') ... TypeError: अपरिभाषित – Greg