问题标签 [mikro-orm]
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.
node.js - MongoDB全文搜索,获取原生mongo驱动Mikro ORM
我正在尝试使用 Mikro ORM 在 MongoDB 中使用全文搜索。我已经看到了在 SQL 驱动程序中实现全文而不是 MongoDB 的问题。MongoDB中的全文搜索是否有任何替代或解决方法?如果没有,我怎样才能像getKnex
在 SQL 中一样在 Mikro ORM 中获得本机 MongoDB 驱动程序?
node.js - 在 Mikro-ORM 中多次分叉 EntityManager 意味着什么?
我正在使用 Apollo Server Express 和 Mikro-ORM 构建一个后端 Web 服务器,并按照文档,我发现该fork()
方法可用于获得一个干净的实体管理器。我已将配置对象中的函数用作上下文的一部分。
在注销代码中显示的上下文时,我发现所有分支都保存在内存中(或者看起来是)。
输出:
我的问题是,在某些时候是否会因此产生负面后果,如果是,我该如何处理这个问题?
typescript - MikroORM:如何通过原始 id 设置外键?
在 MikroORM 中,如何通过原始数值设置外键?例如,在 Django ORM 中,您可以这样做:
而这个,带有原始ID
如何在 MikroORM 中使用原始 ID?
mikro-orm - 使用 em.create 创建的实体是否被管理和持久化?
https://mikro-orm.io/docs/entity-manager/上的文档说
如果实体是从数据库中获取的(通过 em.find()、em.findOne() 或通过其他托管实体)或通过 em.persist() 注册为新实体,则该实体是托管的。
但它没有提到em.create
方法。
实体是通过em.create
自动管理创建的,它们是否会被持久化em.flush
?
如果是这样,是否可以创建一个不会被em.flush
with持久化的实体em.create
?
postgresql - 是否可以在 mikro-orm 中选择嵌套实体的属性?
我正在使用 mikro-orm 和 express 在后端控制器中进行以下简单设置:
这些是我正在使用的实体的简化版本:
该代码应返回包含国家/地区的来源列表。到目前为止,代码工作正常,但它返回以下对象:
有没有办法使用查询参数过滤嵌套实体的返回属性,以便它返回一个更简单的对象,例如:
我尝试了多种语法变体,但似乎找不到合适的。mikro-orm 上的文档在这个具体案例上不太清楚。在此先感谢您的帮助
javascript - 由 Mikro ORM 执行的映射文件
我是学习 Mikro-ORM 的初学者,我的.map
文件一直遇到问题。我正在将我编译typescript
成 javascript,然后用 node 执行 js。但是,当我使用 node 执行 javascript 时,我遇到了以下错误:
目前,我刚刚删除了这些map
文件,但我不认为这是我继续前进的解决方案。我一直在寻找这个问题几个小时,但在 StackOverflow 上的任何地方都没有找到这样的问题。谢谢!
mikro-orm - 如何正确使用 EntityRepository 实例?
文档强调我应该EntityManager
为每个请求使用一个新的,甚至还有一个用于自动生成它的中间件,或者我可以使用em.fork()
. 到目前为止,一切都很好。
这EntityRepository
是使代码可读的好方法。我在文档中找不到任何关于它们如何与EntityManager
实例相关的信息。该express-ts-example-app
示例使用存储库和RequestContext
中间件的单个实例。这表明EntityManager
至少在RequestContext
. 真的是这样吗?
另外,如果我手动分叉 EM,它还能找到正确的吗?考虑以下示例:
是否使用DI.invoiceRepository.persist()
了fetchInvoicesOfACompany()
正确的 EM 实例?如果没有,我该怎么办?
另外,如果我没记错的话,em.flush()
infetchInvoicesOfACompany()
不会更新公司,因为它属于另一个 EM - 我应该如何处理这种情况?
typescript - 我想用 typescript 将 mikroConfig 初始化为 MikroORM,我收到了这个错误消息
错误信息:
'{ 只读实体的参数:readonly [typeof Post]; 只读数据库名称:“lireddit”;只读类型:“postgresql”;只读调试:布尔值;}' 不可分配给“配置<IDatabaseDriver>”类型的参数 | 选项<IDatabaseDriver> | 不明确的'。类型'{只读实体:只读[typeof Post]; 只读数据库名称:“lireddit”;只读类型:“postgresql”;只读调试:布尔值;}' 不可分配给类型 'Options<IDatabaseDriver>'。类型'{只读实体:只读[typeof Post]; 只读数据库名称:“lireddit”;只读类型:“postgresql”;只读调试:布尔值;}' 不可分配给类型 'Partial<MikroORMOptions<IDatabaseDriver>>'。属性“实体”的类型不兼容。
index.ts:
还有 mikro-orm.config.ts:
谢谢你的帮助,我很痛苦