2017-05-10 2 views
0

私はマングースを初めて使っています。私はデータベースのすべてのコレクションでデータを取得することに驚いています。Mongooseを使用してMongoDBデータベースのすべてのコレクションの値を検索しますか?

フィールドがある国番号のコレクションがあります。

よろしくお願いします。会社情報インフォメーションは国をフィールドに持つコレクションです。

var companyInformation = new Schema({ 
    .... 
    country:{type: String}, 
    .. 
}) 

mongoose.model('company_Information',companyInformation); 

同様に、他のコレクションには国フィールドが存在することがあります。

代わりの

company_Information.find({ 'country': 'India' }) 
someCollection.find({ 'country': 'India' }) 
someCollection2.find({ 'country': 'India' }) 

を使用して、各コレクション内の国の値を検索するには、データベース内のすべてのコレクション内のレコードを検索する方法はありますか?

実例が役立ちます。

ありがとうございます。

const mongoose = require('mongoose'); 

const findAllCountries = (country_name)=>{ 
    let models = []; 
    models.push(mongoose.models.someCollection1); 
    ... 
    models.push(mongoose.models.someCollectionN); 

    return Promise.all(models.map(model=>model.find({'country': country_name}))); 
} 

ですから、このように、この機能を使用することができます:あなたはこのようなものを使用することができる。例えば

答えて

0

findAllCountries('USA').then(result=>{ 
    console.log(result); 
}).catch(err=>{throw err;}) 
関連する問題