问题标签 [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.
typescript - 如何在 typegoose 中使用 mongoosastic 插件
我想知道如何使用 typegoose () 安装和使用 mongoosastic ^4.6.0
( @typegoose/typegoose: "^7.4.5"
)。我无法安装@types/mongoosastic
软件包。所以要设置我所做的插件:
当我使用 typegoose ( await VehicleModel.create({...} as Vehicle);
) 保存一个新的车辆对象时,该数据会立即与 elasticsearch 同步。
现在的问题是我不能Vehicle.search(...)
在 Vehicle 类上使用 do 因为插件没有添加 .search 方法,如mongoosastic docs中所示。这是怎么做到的???先感谢您。
graphql - Ref 数组的 TypeGraphQL 和 Typegoose InputType
我很难找到解释如何使用 TypeGraphQL 和 Typegoose 处理对对象的引用数组的资源。
给定以下模型:
这是此代码获得的错误:
我想要实现的是为BlogPost
模型提供存储模型的引用/对象 ID 数组的可能性BlogTag
。
我是这个框架的新手,我不知道这是否是一个好习惯。如何创建一个接受 ID 数组的 InputType?
nestjs - 如何在嵌套数组中设置时间戳
版本
- 系统:windows 10
- 节点JS:v12.16.2
- 打字稿:v 4.1.3
- 编译器/转译器:tsc
- 类型鹅(GIT):commithash
- 猫鼬:5.10.18
- nestjs / nestjs-typegoose:7.5.1 / 7.1.38
我的问题是如何在嵌套数组中设置时间戳;
示例代码在这里
我试过代码:
当我保存这个模型时:parentModel.create( [{ param: 'xxx' }] )
,结果是:
但我想要的是:
然后我尝试了代码:
像这样保存parentModel.create( [ [ { param: 'xxx' } ] ] )
,结果是:
这里没有时间戳,为什么?
我见过一些其他类似的问题,但我还是不明白;可能是我的英文太差听不懂,如果你知道,请直截了当地告诉我。
还在 typegoose Repo #485上创建了一个问题
mongoose - 虚拟填充字段不会在 type-graphql 解析器中序列化
Stack - 带有 Typegoose 的 Type-graphql
问题 :
- BookRecommendation 类解析一本书(虚拟字段)
- Typegoose 返回正确的 book 填充值,该值通过 bookId foreign ref 解析
- 序列化的 type-graphql 响应不包括 book 对象,并且已经尝试了所有方法来解决这个问题。
序列化 book 对象的正确方法是什么?
node.js - 在 MongoDB(typegraphql、typegoose)中插入时如何检查参考?
假设我有一个events
由 TypeGraphql 和 Typegoose 创建的简单集合,它存储如下对象:
{ _id: ObjectId(...), name: 'SomeEvent', category: ObjectId('...') }
和相应的类型:
我也categories
有现在只包含_id
和的集合name
。
现在我想将一些事件插入数据库。是否可以自动检查输入中提供的 categoryId 是否存在于集合中categories
,如果不存在,则抛出错误?现在,可以在category
字段中添加任何事件,然后当我尝试通过查询获取它时,它会抛出一个category
无法解决的错误,因为没有具有此 ID 的类别。我知道,我可以在添加事件期间手动检查它,但如果我有更多这样的字段,那将是有问题的。
mongodb - 具有多个集合的猫鼬/typegoose db
如何设置与多个集合的 mongoose/typegoose 连接?
当我初始化数据库时,它只创建集合“指标”而不是“入职”。
当我尝试向入职集合“MetricsUtil.OnboardingModel.findOneAndUpdate”写入内容时,它会写入“metrics”集合。
不知道我在这里缺少什么。一直在尝试查找有关如何设置的示例。
mongodb - NestJS Mongo 引用未正确保存
我正在使用 Mongo 开发 NestJS 后端,但我在使用 mongo 引用时遇到了困难。
让我再解释一下情况。我有一个名为 SystemInformation 的类,其中包含对象何时创建或由谁创建等字段。应用程序的所有其他模式都扩展了这个类。字段“createdBy”是对用户模式的引用(也扩展了 SystemInformation)。当我保存对象时,有效负载包含创建记录的用户的 ID。但是当我从 Compass 中查看 mongo 数据库时,我将该字段视为一个字符串,但从不作为官方格式的参考,如下所示:
以下是正在使用的代码的相关部分:
这是系统类和架构:
User 类作为我的扩展实现的示例:
保存到 mongo 的有效负载和功能是:
我想知道我做错了什么,你们能帮帮我吗?
mongoose - NestJS MongoDB 嵌套对象模式
我目前正在运行代码:
我没有找到任何“扩展”架构的方法SystemInformationContent
,因此raw()
在装饰器中使用了该函数@Prop()
,但我想知道是否有办法做这样的事情:
SystemInformation.system
@Prop()
考虑到SystemInformationContent
.
你们知道是否有其他方法,raw
或者我是否遗漏了什么?
编辑:我的 NestJS 应用程序的所有类都在扩展 SystemInformation,所以它们看起来都像:
typescript - 我的解析器导致未处理的 Promise Rejection:Typegoose、Type-Graphql
一旦我将任何代码添加到我的用于在 MongoDB 中查询和变异数据的特定解析器中,我就会不断从我的服务器收到未处理的承诺拒绝错误。解析器的代码如下所示:
我正在尝试引用 Fridges 类中的其他类,但不确定我是否做得对,但我无法想象这将是问题的根源。代码在这里:
最后是我的服务器的代码:
***** 一旦我移除 FridgeResolver,错误就会消失。此外,如果我删除了 FridgeResolver 中的所有代码,但将其留在 ApolloServer 中,它也会消失。********
mongodb - 初始化后更改 Typegoose 集合名称
我正在使用 typegoose 创建模型。在创建模型期间,我发现可以提供集合名称。但是一旦分配,我无法找到修改它的方法。
所以在上面MyModel
,我想更改我正在导入的集合名称。
如何更改模型中的集合名称?还是我只能选择在我想使用的地方创建这个模型?