2017-05-10 112 views
0

我是新來的貓鼬。我很想在數據庫中的每個集合中獲取數據。使用Mongoose搜索所有MongoDB數據庫集合中的值?

我收集了一個字段國家

可以說company_Information是以國家爲領域的集合。

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

mongoose.model('company_Information',companyInformation); 

類似的country字段可能會出現在其他一些集合中。

而不是使用

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

每個集合中搜索一個國家的價值有沒有什麼辦法可以檢索記錄每一個集合中的數據庫?

工作示例會幫助我。

謝謝。

回答

0

例如,你可以使用這樣的事情:

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}))); 
} 

所以,你可以使用這個功能是這樣的:

findAllCountries('USA').then(result=>{ 
    console.log(result); 
}).catch(err=>{throw err;}) 
相關問題