最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Mongoose + TypeScript:ObjectId 构造函数“预期有 0 个参数,但得到了 1 个”……它有效

网站源码admin42浏览0评论

Mongoose + TypeScript:ObjectId 构造函数“预期有 0 个参数,但得到了 1 个”……它有效

Mongoose + TypeScript:ObjectId 构造函数“预期有 0 个参数,但得到了 1 个”……它有效

我在这一行(idProduct 是一个字符串)上有一个错误“Expected 0 arguments, but got 1”:

|

new mongoose.Types.ObjectId(idProduct)

但这只是带下划线的,代码可以正常工作....

我的代码是:

async function test(idProduct: string) {
    const test = await screenModel.aggregate([
        { '$match': { 'productId': new mongoose.Types.ObjectId(idProduct)} },
    ]);
}

如果我在 mongoose/types 中打开 index.d.ts,所有

mongodb.ObjectId
都带有下划线并带有错误“Namespace '[.....]/node_modules/mongodb/mongodb.ts34”' has no exported member ' ObjectId'”

我在猫鼬 6.2.9

你有什么想法吗?

非常感谢 C.

回答如下:

有类似的问题,这对我有用。 我没有使用

ObjectId
中的
mongoose
,而是从
bson

中导入它
import { ObjectId } from 'bson'

async function test(idProduct: string) {
    const test = await screenModel.aggregate([
        { '$match': { 'productId': new ObjectId(idProduct)} },
    ]);
}

我希望这能解决问题。

发布评论

评论列表(0)

  1. 暂无评论