Rumah > Soal Jawab > teks badan
Sebagai contoh
aModel = {
user_id: String,
file_name: String,
page_id: Number
}
fileSchema = new Schema({
page_id: Number,
key: String,
doc: String,
title: String,
sym: String
});
bModel = {
user_id: String,
file_name: String,
origin_file: String,
new_file: [fileSchema]
}
Adalah diketahui bahawa id_pengguna, nama_fail, id_halaman dan model adalah tidak segerak. Bagaimana untuk mencari kedua-dua model ini pada masa yang sama
Pergi ke langkah seterusnya selepas mendapat dua hasil
我想大声告诉你2017-06-20 10:07:55
Kodnya seperti berikut, sebenarnya saya rasa tulisannya tidak elegan langsung...
var aDocs ,bDocs =null ;
aModel.find({ user_id:xx , file_name:xx , page_id:xx})
.then(function(docs){
aDocs = docs;
return bModel.find({ user_id:xx , file_name:xx , page_id:xx}) })
.then(function(docs){
bDocs = docs ;
other codes
})
女神的闺蜜爱上我2017-06-20 10:07:55
Jika anda memerlukannya untuk dilaksanakan secara serentak, anda boleh menggunakan Promise
const query1 = aModel.find(query)
const query2 = bModel.find(query)
Promise.all([query1, query2]).then(rs => {})
Jika anda tidak perlu melakukannya secara serentak dan boleh melakukannya secara serentak, anda boleh menggunakan yield
或者 async/await
const query1 = yield aModel.find(query)
const query2 = yield bModel.find(query)
// 需要node7以上
const query1 = await aModel.find(query)
const query2 = await bModel.find(query)
女神的闺蜜爱上我2017-06-20 10:07:55
Sudah tentu tingkat atas tidak begitu elegan Apa yang anda perlukan adalah async/menunggu, jadi tingkatkan nod kepada 7.6 ke atas
世界只因有你2017-06-20 10:07:55
Betul ke? Bukankah api mongoose mempunyai kaedah pertanyaan berbilang jadual?