gpt4 book ai didi

ruby-on-rails - RoR3 : 1) how to return specific field on query? 上的 Mongoid 2) 需要什么 inverse_of?

转载 作者:IT老高 更新时间:2023-10-28 13:06:12 24 4
gpt4 key购买 nike

嗯,标题是不言自明的。但是,让我详细说明一下。首先,我正在使用 Mongoid,这是一个用于在 Rails 应用程序中使用 MongoDB 的 Gem。

#1) 我有一个大集合,其中包含有关 map 的信息。一张 map 嵌入了很多瓦片,每个瓦片都引用了一个地形集合、一个用户集合,还有一些其他的信息。因此,如果我从 map 中获取所有图 block ,我将拥有一个非常大的结构。但是,我想缓存一个包含仅包含地形信息的矩阵的结构。为了做到这一点,我选择了所有瓦片(因此,所有不需要的信息)并仅使用地形字段。如何仅选择 Mongoid 上的地形字段?我尝试在几种方式上使用 select 进行操作,但我没有设法做到这一点..(顺便说一下,只是为了举例说明,我使用 "Map.first.tiles"行访问了 tiles 数组。

#2) 好吧..我已经在这里了,所以,为什么不问这个。我真的应该在我的模型上使用 inverse_of 字段吗?我没有在任何地方使用它,而且一切似乎都运行良好。我不明白为什么需要它,因为确定将它们放在哪里以及它们的反面是什么非常简单。

提前致谢。费尔南多。

最佳答案

一般来说,在一个 mongoid 查询中只选择 1 个或多个属性:

Map.only(:name).all

我不会打扰 inverse_only 除非 Mongoid 需要帮助找出类。一般不需要。

如果您只需要返回嵌入文档的某些属性,则需要使用完整路径:

Map.first.tiles
=> [#<Tile _id: 4e1e486042f5bc06e7000002, name: "Earth", distance: 34>]

Map.only("tiles.name").first.tiles
=> [#<Tile _id: 4e1e488742f5bc06e7000003, name: "Earth", distance: nil>]

关于ruby-on-rails - RoR3 : 1) how to return specific field on query? 上的 Mongoid 2) 需要什么 inverse_of?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6687483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com