我是mongodb和mongoid的新手。我習慣於Rails的Ruby ActiveRecord/mysql,所以請原諒我的無知。使用mongoid中的條件選擇多個文檔
在ActiveRecord的世界,如果我要搜索符合特定標準 (學生從一個特定的郵政編碼)的所有記錄,我可以用
students = Student.where(zipcode: "12345")
,這將返回學生的數組。
使用Mongoid,如果我查詢
Student.all.where(zipcode: "12345")
它只是返回一個標準,我必須使用迭代器像
students = []
Student.all.where(zipcode: "12345").each { |s| students << s }
有沒有更好的方式做一個Mongoid /蒙戈查詢獲取所有文件 滿足搜索條件,而無需使用ruby迭代器(.each)?
我已經從 https://docs.mongodb.org/ecosystem/tutorial/mongoid-queries/
指mongoid文件,找不到這個例子中的所有文件在一個查詢。
非常感謝解釋 - 現在有道理。也只是瞭解到Student.where(...)返回一個條件,並且不會執行查詢,直到它被分配給一個變量或迭代結束。 – Kannan