我需要的文檔只能用不同的值mongodb。如何選擇不同的記錄
SQL應該是這樣的:SELECT DISTINCT engine_type_id FROM cars
但我不知道如何讓蒙戈相同的行爲。
提前致謝。
P.S.我嘗試使用mongo的distinct
方法,但它返回不同的engine_type_id數組而不是整個文檔。所以對我來說這不起作用。
我需要的文檔只能用不同的值mongodb。如何選擇不同的記錄
SQL應該是這樣的:SELECT DISTINCT engine_type_id FROM cars
但我不知道如何讓蒙戈相同的行爲。
提前致謝。
P.S.我嘗試使用mongo的distinct
方法,但它返回不同的engine_type_id數組而不是整個文檔。所以對我來說這不起作用。
我們可以使用distinct
方法與參數。
這裏是我得到的所有ID: ids = db.cars .distinct("_id", "engine_type_id")
接下來,我可以打與一個查詢DB: db.cars.find({"_id": {$in: ids}})
所以,這一切!
對於那些使用紅寶石MongoMapper誰,請看看這裏:這個[POST]
ids = MongoMapper.database.eval("db.cars.distinct('_id', 'engine_type_id'})")
Car.where(_id: { :$in => ids })
看(http://stackoverflow.com/questions/12183444/getting-a-distinct-聚集數組字段 - 跨索引),它爲包含單個或多個值的任何字段返回不同的值。因此根據您的需要,您必須編寫一些[彙總](http://docs.mongodb.org/manual/reference/method/db.collection.aggregate/)。閱讀更多關於[mongodb distinct](http://docs.mongodb.org/manual/reference/method/db.collection.distinct/)的功能。 – Braj 2015-03-31 09:24:03
哪些文檔具有'engine_type_id'的給定值,是否需要使用'engine_type_id'的不同值?一個不同的價值(哪一個?),所有這些?從技術上講,檢索集合中的所有文檔都會找到'engine_type_id'的不同值以及具有這些值的所有文檔,因此您需要更具體地瞭解您想要的內容。 – wdberkeley 2015-03-31 15:56:49