Node.js 如何从Jade中找到数据数组中的特定项?
不确定这是否是好的/坏的做法,但我已成功地将两组数据(mongodb集合)服务器到jade页面 这些数据mongoose模式的示例如下:Node.js 如何从Jade中找到数据数组中的特定项?,node.js,mongodb,express,mongoose,pug,Node.js,Mongodb,Express,Mongoose,Pug,不确定这是否是好的/坏的做法,但我已成功地将两组数据(mongodb集合)服务器到jade页面 这些数据mongoose模式的示例如下: ... var personSchema = new Schema({ firstName: String, lastName: String, email: String, city: String, state: String, zip: Number }); module.exports = mongoose.model('person', person
...
var personSchema = new Schema({
firstName: String,
lastName: String,
email: String,
city: String,
state: String,
zip: Number
});
module.exports = mongoose.model('person', personSchema);
及
我已经成功地为翡翠TPL提供了这两个系列,它们工作得很好。但现在我对如何做我想做的事感到困惑:
我正在为引用构建一个页面,为引用对象提取数据。在来自quotes集合的单个quote的文档中,它具有来自persons集合的person的ObjectId
到目前为止,这就是我所拥有的,但我被卡住了:
each quote in quotes
ul
li #{quote.quote}
li #{quote._person.firstName} #{quote._person.lastName}
因为它不起作用。我需要找到一种方法进入引用文档中引用的person文档,并获取firstName和lastName
这是我第一次在stackoverflow上寻求帮助,如果我缺少任何可以帮助我的东西,请告诉我。问题是,除了将ObjectId和ref添加到架构中,还有一个额外的步骤。正如@Molda所指出的,您必须使用.populate()函数来实现这一点 看到注释后,我查找了.populate()函数,并对其进行了很好的解释 因此,当我打电话时,它必须看起来像:
quote.find({}).populate({
path: '_person',
model: 'person'
}).exec(callback);
问题在于,除了将ObjectId和ref添加到模式中之外,还有一个额外的步骤。正如@Molda所指出的,您必须使用.populate()函数来实现这一点 看到注释后,我查找了.populate()函数,并对其进行了很好的解释 因此,当我打电话时,它必须看起来像:
quote.find({}).populate({
path: '_person',
model: 'person'
}).exec(callback);
请说明如何查询数据库中的报价。您正在使用populate
Quote.find(…).populate(“\u person”)…
?我对.populate()函数一无所知。你一提到它,我就查了一下,它解决了我的问题。非常感谢。请说明如何查询数据库中的报价。您正在使用populateQuote.find(…).populate(“\u person”)…
?我对.populate()函数一无所知。你一提到它,我就查了一下,它解决了我的问题。非常感谢。