通过它的数组值来搜索MongoDB中的文档 - Mongoid / Sinatra

时间:2014-05-04 14:23:04

标签: ruby mongodb sinatra mongoid

我在Mongo收到了文件

{
"_id": ObjectId("53638084e1054e706f000001"),
"name": "Vasya",
"order": [
  "burger",
  "nuggets",
  "mtdew"
  ],
}

现在我需要找到它

get '/order/:order' do
  @clients = Client.where(order: [':order'])
  haml :index
end

但它什么也没有回报。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

如果您只想查找order数组中包含特定元素的文档:

db.orders.find({"order": "nuggets"})

在Ruby语法中,它应该是(未经测试的):

get '/order/:order' do
  @clients = Client.where(order: params[:order])
  haml :index
end