使用Typescript MongoDb类型时出错(找不到命名空间)

时间:2017-04-23 07:24:09

标签: node.js mongodb typescript typescript-typings

我正在尝试使用通过

安装的mongodb打字
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, browserHistory } from 'react-router'
import Fourofour from './containers/fourofour/Fourofour';
import Home from './containers/home/Home';
import Services from './containers/services/Services';
import Portfolio from './containers/portfolio/Portfolio';
import About from './containers/about/About';
import Contact from './containers/contact/Contact';

现在我想在类似

的函数中使用类型
npm install @types/mongodb -D

我对InsertOneWriteOpResult的类型特别感兴趣。 但我得到的是打字稿编译错误:

export default async function insertOne(collection:any, data:any):Promise<InsertOneWriteOpResult> {
  let db = await state.db
  let col = await db.collection(collection)
  let result = await col.insertOne(data)
  return result
}

我在我的typings.d.ts中引用了打字文件

src/utils/mongodb/collection/insert-one.ts|5 col 17 error| Cannot find namespace 'InsertOneWriteOpResult'.

在这个文件中,我可以看到,界面已导出:

/// <reference path="./../node_modules/@types/mongodb/index.d.ts" />

所以我的问题是,我必须使用哪个命名空间来让insertcript检查InsertOptionsWriteOpResult?

1 个答案:

答案 0 :(得分:1)

不要写import {InsertOneWriteOpResult} from 'mongodb'; export default async function insertOne(collection: {}, data: {}): Promise<InsertOneWriteOpResult> { ... }

而是像这样写

<h1>content</h4>