简体   繁体   English

如何使用节点js在mongodb中动态创建collections

[英]How to create collections dynamically in mongodb with node js

I have huge record to store for each company, one company can contain 200k records.我为每家公司存储大量记录,一家公司可以包含 20 万条记录。 how can we create a dynamic collection for each company with company name to avoid filtration in mongodb.我们如何为每个具有公司名称的公司创建一个动态集合,以避免在 mongodb 中过滤。

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

I suggest promise,async,etc.. But if you don't use it, this would create the collections:我建议 promise、async 等。但如果你不使用它,这将创建 collections:

client.connect(err => {
  const db=client.db(dbname);
  const companies = ['Company1','Company2','Company3']
  companies.forEach(name=>{
    db.createCollection(name)
  })
})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM