貓鼬模式包括這樣的:的MongoDB:按日期將NULL字段排序爲早日
{
dueDate: { type: Date, required: false }
}
我的目標是獲取通過的dueDate分類與頂部的最快日期文檔,然後剩下的沒有的dueDate 。我的問題是不需要截止日期,因此沒有dueDate的文檔會在有效日期的文檔上排序。
這是我如何對它進行排序(node.js的& mongoose.js):
query.sort({ dueDate: 'asc' });
我主要是尋找一個內置的方式做到這一點;我已經通過組合查詢實施了黑客行爲。
http://en.wikipedia.org/wiki/Lexicographical_order這樣做,如果你想這些值出現在底部,你將需要創建日期的「最大」值和初始化您的文件該最大值作爲其默認值。 – Sammaye
不幸的是,還有其他的東西取決於該字段爲空。我可能會考慮重新設計,所以它不會。感謝您的意見。 –
有人想過要改變這種方式,只有字母順序才能實現這個功能,事實上JIRA門票有些地方可能會吸引我搜索,但是這是關於從SQL遷移到MongoDB的那些「難題」之一: ( – Sammaye