Ошибка при использовании Typescript MongoDb Typings (не удается найти пространство имен)

Я пытаюсь использовать типизацию mongodb, которую я установил через

npm install @types/mongodb -D

теперь я хочу использовать типы в такой функции

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
}

Меня особенно интересует Тип InsertOneWriteOpResult. но я получаю ошибку компилятора машинописного текста:

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

я сослался на файл typings в моем typings.d.ts

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

в этом файле я вижу, что интерфейс экспортирован:

export interface InsertOneWriteOpResult {
    insertedCount: number;
    ops: Array<any>;
    insertedId: ObjectID;
    connection: any;
    result: { ok: number, n: number }
}

Итак, мой вопрос: какое пространство имен я должен использовать, чтобы разрешить проверку машинописного текста на InsertOptionsWriteOpResult?


person divramod    schedule 23.04.2017    source источник


Ответы (1)


Не пишите <reference path="./../node_modules/@types/mongodb/index.d.ts" />.

Вместо этого напишите это так

import {InsertOneWriteOpResult} from 'mongodb';

export default async function insertOne(collection: {}, data: {}): Promise<InsertOneWriteOpResult> { 
  ... 
}
person Aluan Haddad    schedule 23.04.2017
comment
@divramod рад помочь :) - person Aluan Haddad; 24.04.2017