gpt4 book ai didi

ruby-on-rails - 使用 mongoid 根据条件获取嵌入元素

转载 作者:可可西里 更新时间:2023-11-01 09:25:24 26 4
gpt4 key购买 nike

我使用 rails 和 mongodb(mongoid gem)。我需要创建一个选择表单,其中包含嵌入在文档中的特定元素。文档看起来像这样:

应用 --> 订单 -->

我只想获取包具有特定值的应用程序文档。任何建议如何实现这一目标?我尝试了以下方法,但不起作用:

@apps = current_user.apps.order.all(conditions: { order.package: 2 } )

最佳答案

查看此问题:Mongoid / Mongodb and querying embedded documents

在你的情况下:

@apps = App.where("orders.packages.name" => "supper").all

一种在 mongo shell 中测试的方法:

app = {name:"yo"}
app.orders = []
order = {name:"1"}
order.packages = []
package = {name:"supper"}
order.packages.push package
app.orders.push(order)
db.apps.save(app)
db.apps.find()

# { "_id" : ObjectId("4dd288f139ead04b2cde11a6"), "name" : "yo", "orders" : [ { "name" : "1", "packages" : [ { "name" : "supper" } ] } ] }

db.apps.find({"orders.packages.name":"supper"});
{ "_id" : ObjectId("4dd288f139ead04b2cde11a6"), "name" : "yo", "orders" : [ { "name" : "1", "packages" : [ { "name" : "supper" } ] } ] }

关于ruby-on-rails - 使用 mongoid 根据条件获取嵌入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6032452/

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