我为每个公司要存储大量记录,一个公司可以包含20万条记录。我们如何为每个拥有公司名称的公司创建动态集合,以避免在mongodb中进行过滤。
答案 0 :(得分:0)
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://******";
const client = new MongoClient(url, { useNewUrlParser: true });
const dbname='******';
client.connect(err => {
const db=client.db(dbname);
const promises = ['Company1','Company2','Company3'].map(name => db.createCollection(name))
return Promise.all(promises)
.then(() => {
client.close()
})
.catch(err=>{
console.log(err)
})
})
我建议诺言,异步等。但是,如果您不使用它, 这将创建集合:
client.connect(err => {
const db=client.db(dbname);
const companies = ['Company1','Company2','Company3']
companies.forEach(name=>{
db.createCollection(name)
})
})