问题标签 [typegoose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
103 浏览

node.js - 为什么mongodb不每30秒删除一次文档?

我在为 mongodb 使用 typegoose 实现 TTL 时遇到问题。基本上,如果文档超过 30 秒,我想从集合中删除它。

0 投票
1 回答
255 浏览

mongodb - 如何在 typegoose (mongoose) 中正确引用其他类并仅保存引用 (ObjectId)?

我尝试仅在 mongo db 中保存 ObjectId 中的一些字段,但我发现以下内容无法正常工作:

我发现存储在 mongo db 中的数据如下:

这不是我所期望的......

我期望:

如何在 typegoose(mongoose) 中仅将引用保存在这种结构中?

2021-4-26 更新:

typegoose v7.6.0

猫鼬 v5.10.18

打字稿 v4.0.5

mongodb v3.6.6

0 投票
0 回答
22 浏览

node.js - 如何正确使用基于相同 mongo 架构的 2 个集合

我有条件地有 12 个集合(按月),文档架构是相同的。为了不写不必要的代码,我尝试这样做:

我向集合 05 发出请求,但它总是转到 01

我真的不想像往常一样画这12个系列,这样的“短”版真的不合适吗?

我将不胜感激您的帮助!祝你今天过得愉快!

0 投票
1 回答
266 浏览

node.js - 我的 typegoose 保存函数没有返回需要的类型(NodeJs、typescript、graphql)

我的由typegoose创建的对象(在model.ts文件中)的函数保存应该返回Promise<Todo>,但它返回Promise<Document<any, {}>> 并且我有这个错误:

我应该如何纠正这个?

模型 ts

输入 ts

实体待办事项

谢谢你。

0 投票
1 回答
384 浏览

node.js - 更新的 Typegoose 抽象

我最近一直在研究 NestJS 并开始了一些示例项目。这个项目使用 MongoDB,所以我也选择了 Typegoose 来实现这一点。我在网上找到了一个教程(https://nartc.netlify.app/blogs/nestjs-typegoose/),它描述了如何将一些抽象与基本类型鹅模型一起使用。

所以,我base.service.ts现在看起来像这样:

这与上述博客文章中的代码完全相同。但是,我遇到了一些错误:

这个错误指向update方法,进入item参数里面this.model.findByIdAndUpdate(BaseService.toObjectId(item.id), item, ...);我知道是的类型item并且<T extends BaseModel>它在博客文章中有效,但是为什么我在这里得到一个错误?

此外,此错误也存在:

关于count方法,在Query<number>.

我不明白的一件事是为什么这些错误出现在我的项目中,但没有出现在前面提到的教程中?

0 投票
1 回答
740 浏览

node.js - MongooseError - 操作缓冲在 10000 毫秒后超时

我有以下模型代码。

我正在使用上述模型如下。

其中 mastercontext 定义如下。

我收到如下错误。

Operation datasources.find() buffering timed out after 10000m

如果我将类名从更改export class Datasource为任何其他名称(例如export class Datumsource),则不会抛出错误。

那么DatasourceMongoDb 或 Mongoose 或 Typegoose 中的保留关键字是什么?

0 投票
1 回答
200 浏览

node.js - Mongoose (Typegoose) 扩展方法类型错误

目前,当向 findOneAndUpdate 提供 id 时,它不会返回自动生成的 id。

所以我创建了扩展方法来克服这个问题。但是打字稿抱怨打字。需要帮助。

我创建了如下扩展方法。

我想像下面这样使用它。

我的数据源模型如下所示。

在声明期间我收到错误,因为“类型'T'不满足约束'Document<any,{}>'”?

如果我写"T extends mongoose.Document<any, {}>"在模型声明中,那么不会给出错误,但是在调用该方法期间它会给出错误"Property 'name' is missing in type 'Document<any, {}>' but required in type 'Datasource'"

谁能帮助我在这里需要做的事情?

0 投票
0 回答
49 浏览

node.js - mongoose 中的通用扩展方法。错误:方法不是函数

我正在尝试在所有猫鼬模型上创建通用扩展方法。但是在使用运行时时我无法在模型上使用方法。

我已经实现如下。

这是可能的还是根本不支持?还是我做错了?

我正在尝试按以下方式使用它。DatasourceModel 是一个 Typegoose 模型。

我得到的错误如下。

我已将 mongoose 模块声明如下,这在编译时会有所帮助。但不是在运行时。

declare module 'mongoose' { interface Model<T> extends NodeJS.EventEmitter, AcceptsDiscriminator { findOneAndUpsert<T>( filter?: FilterQuery<T>, update?: UpdateQuery<T>, options?: QueryOptions | null, callback?: (err: any, doc: T | null, res: any) => void, ): Promise<T>; } }

0 投票
0 回答
110 浏览

mongodb - 无法向 mongo db 文档添加新属性,我正在使用带有嵌套 js 的 typegoose

这里我是如何注册 typegoose 的:

这是我的服务文件,其中具有更新文档逻辑的功能。

我已经使用了 mongoose 和 mongodriver 的各种更新功能,但它们都不起作用。$set 运算符也不起作用,它只是更新旧字段而不是创建新字段。

这是我要更新的文档的类型鹅模式。

即使我在指南针中手动添加此字段也不会更新,我尝试从 shell 添加新字段并且效果很好,所以 typegoose 的问题,请帮助我。

0 投票
1 回答
41 浏览

node.js - findByIdAndUpdate 不适用于 GridFs 对象

我正在尝试在 mongo 的 Grid fs 中向文件对象添加一个元数据。但它没有在 Gridfs 中更新(实际上我正在添加名为 page 的新属性)元数据。

以下是我的代码,在保存文档后,它会尝试使用其他属性更新该文件。

我在这里做错了什么?或者只是 Grid Fs 对象不支持元数据更新?