繁体   English   中英

mongoose listCollections()不返回集合名称,而是返回未决的promise

[英]mongoose listCollections() not returning collections name instead return a promise pending

我想即时创建模型,所以我使用下面的代码来实现相同的目的。

var connection = mongoose.createConnection(metadb_uri, mongo_opts, function() {
   log.debug(process.env.DB_ENV+' setup done')
});

const _schema = new Schema({
   count:Number,
   users:{type: mongoose.Schema.Types.Mixed, default: {}} 
});

let name = 'name_123';

//trying to get collection names
connection.db.listCollections.toArray().then((names) => {

    if (!(name in names.name)) {
       let userAnalyticsDB = connection.model(name,_schema);
       module.exports.Collection = userAnalyticsDB;
    }
  })
  .catch((err)=>{
    return err;
  })
});

因此,connection.db.listCollections.toArray()将promise状态返回为待处理状态。 任何人都可以有一个主意,为什么它给undefined承诺值。

请给我一些提示。

感谢您的回答和帮助。 我调试了问题,发现它与Promise地狱有关。 我在诺言中写下诺言。 因此它返回的promise为pendingundefined

暂无
暂无

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

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