使用多个键排序 meteor mongodb
Sort with multiple keys meteor mongodb
我有一个名为 invoice 的集合,我想按日期对我的集合进行排序,但结果应该是有发票编号的发票应该在顶部,没有发票编号的发票应该在底部。
我已经试过了,但没有用。
Invoice.find({},{sort:{createdAt :-1, invoiceNumber: 1}})
据我所知,不可能像排序那样做。您可以尝试先按 invoiceNumber 排序,然后按 createdAt 排序,但这不会给您想要的结果。
为此,我建议您执行 2 个查询,然后将它们连接到一个数组中。
const withNumber = Invoice.find({ invoiceNumber: { $exists: true } }, { sort: { createdAt :-1 }});
const withoutNumber = Invoice.find({ invoiceNumber: { $exists: false } }, { sort: { createdAt :-1 }});
const all = [...withNumber, ...withoutNumber];
我有一个名为 invoice 的集合,我想按日期对我的集合进行排序,但结果应该是有发票编号的发票应该在顶部,没有发票编号的发票应该在底部。
我已经试过了,但没有用。
Invoice.find({},{sort:{createdAt :-1, invoiceNumber: 1}})
据我所知,不可能像排序那样做。您可以尝试先按 invoiceNumber 排序,然后按 createdAt 排序,但这不会给您想要的结果。
为此,我建议您执行 2 个查询,然后将它们连接到一个数组中。
const withNumber = Invoice.find({ invoiceNumber: { $exists: true } }, { sort: { createdAt :-1 }});
const withoutNumber = Invoice.find({ invoiceNumber: { $exists: false } }, { sort: { createdAt :-1 }});
const all = [...withNumber, ...withoutNumber];