mongoid - Mongoid:为 embeds_one 抑制 _id?
问题描述
我正在寻找一种方法来抑制 embeds_one 关联的子类中 _id 字段的生成,但找不到方法。
有谁知道如何做到这一点?
如果为子类创建 embeds_one 关联,则不需要 _id 字段,因为父类中只会嵌入一个子类。
Mongoid 7.0,MongoDB 4.2。
在 NodeJS/Javascript 生态系统中使用 Mongoose 时,这很容易。您只需指定
{ _id: false }
在猫鼬模式的选项中。在 Ruby on Rails 世界中为 Mongoid 寻找类似的东西。
谢谢!
解决方案
Mongoid 内部定义了每个文档上的 _id 字段具有默认值,但您可以重新定义该字段以不具有默认值。
class Foo
include Mongoid::Document
embeds_one :bar
end
class Bar
include Mongoid::Document
embedded_in :foo
field :_id, type: String
end
推荐阅读
- c# - MacOS/VisualStudioCode/Omnisharp 缺少 .NET Framework 4.6.1
- android - Android:如何获取默认日期/时间格式?
- javascript - 这个错误说明了什么?类型“ParsedQs”不可分配给类型“字符串”
- c# - 如何在 GridView 的单元格内绘制矩形,我使用 webforms c#
- vue.js - 如何仅将对象数组中的一个参数作为组合框项传递?
- ios - 了解 Tapgesture 语法 - Swift
- java - JOGL OpenGL - 缺少一些导入
- python - 寻找一种更简单的方法来根据另一列的值在熊猫数据框中输入 0 或 1
- c# - 在 MSTest v2 中的并行测试之间共享 Entity Framework Core Database Context
- go - 使用两因素身份验证“去获取”私有 github 存储库