我有這樣的集合。 只有少數用戶有sortOrder
場僅對現有字段排序
[{
"_id": "59ccf78bde3d14019169c105",
"name": "Best FX broker ",
},
{
"_id": "59ccf78bde3d14019169c102",
"name": "Best automated Performance tool ",
"sortOrder": 1,
},
{
"_id": "59ccf78bde3d14019169c104",
"name": "Best Regtech/ reporting solution ",
},
{
"_id": "59ccf78bde3d14019169c106",
"name": "NEW: BEST CRYPTO SERVICE PROVIDER",
"sortOrder": 2,
}]
當我排序sort({"sortOrder": 1})
我得到這個
[{
"_id": "59ccf78bde3d14019169c105",
"name": "Best FX broker ",
},
{
"_id": "59ccf78bde3d14019169c104",
"name": "Best Regtech/ reporting solution ",
},
{
"_id": "59ccf78bde3d14019169c102",
"name": "Best automated Performance tool ",
"sortOrder": 1,
},
{
"_id": "59ccf78bde3d14019169c106",
"name": "NEW: BEST CRYPTO SERVICE PROVIDER",
"sortOrder": 2,
}]
但我需要這樣的排序集合(值與前場sortOrder
)
[ {
"_id": "59ccf78bde3d14019169c102",
"name": "Best automated Performance tool ",
"sortOrder": 1,
},
{
"_id": "59ccf78bde3d14019169c106",
"name": "NEW: BEST CRYPTO SERVICE PROVIDER",
"sortOrder": 2,
},
{
"_id": "59ccf78bde3d14019169c105",
"name": "Best FX broker ",
},
{
"_id": "59ccf78bde3d14019169c104",
"name": "Best Regtech/ reporting solution ",
}]
我該寫些什麼查詢才能得到它?
它看起來並不像你確切使用情況下是支持的,但也有一些解決方法/其他方法可能會讓你得到你想要的。請參閱https://stackoverflow.com/questions/36028267/mongodb-sort-by-only-exists-entry-key-with-value-first-and-key-with-null-or-not和https:// stackoverflow .COM /問題/ 32680809/MongoDB的排序逐場存在的,和當時的字母 –