mongodb的打字稿定义不起作用?

时间:2018-03-27 19:17:11

标签: angular mongodb typescript

每个人,我必须安装mongodb才能在角4中工作? 在我的angular 4项目db中,MongoClient类的客户端的对象为此代码:

MongoClient.connect('mongodb://localhost:27017/test', (err, client) => {
            // Client returned
            var db = client.db('test');});

当我在此代码中写db.collection()时:

let db = DbClient.connect();
      db.collection();

app.module.ts文件中我收到此错误:

"[ts] Property 'collection' does not exist on type 'void'."

其中DbClient是在我的数据库文件中定义的类 在这个项目中,我有nodejs: 8.10.0 mongodb version 2.2.33@type/mongodb: 3.0.9,这个版本的mongodb是3.0.5我在搜索解决方案之后下载了旧版本,但仍然无法正常工作。<登记/> 请有人帮我解决这个错误吗?

1 个答案:

答案 0 :(得分:0)

DbClient.connect();连接变量DbClient,并且不返回任何内容。因此,当您尝试编写let db = DbClient.connect();时,TypeScript会正确地警告您db是一个没有方法的void变量。

我想你想要:

DbClient.connect();
DbClient.collection();

MongoClient.connect('mongodb://localhost:27017/test', (err, client) => {
    // Client returned
    var db = client.db('test');
    db.collection();
});