I'm using Morphia to access mongoDB. I need to get a list of objects by the length of the inner array. Does any one have an idea how it can be done without getting all the collection to Java and sort it there?
tsinik
OK I found it :-)
dataStore.find(MyClass.class).order("-inner_array.length").asList();
does the trick.
for example:
source data tmb_results_by_tissue_other:
{"base_info":[1,2,3],"type":"123"},
{"base_info":[2,3,4,5],"type":"123"},
by aggregate
db.tmb_results_by_tissue_other.aggregate([{$project:{"type":1, num:{$size:"$base_info"}}},{$sort:{"num":-1}}])
来源:https://stackoverflow.com/questions/5765858/how-can-i-sort-mongodb-query-results-by-inner-array-size