शायद आप एकत्रीकरण और कृत्रिम रूप से उच्च समाप्ति तिथि का उपयोग कर सकते हैं:
c = db.foo.aggregate([
{$project: {
next_time: 1,
nlt: { $ifNull: [ "$next_time", new ISODate("9000-01-01") ] }
}
}
,
{$sort: { "nlt": 1}}
]);
c.forEach(function(r) { printjson(r); });
वैकल्पिक रूप से, यदि अधिकांश सामग्री में शून्य है और आप उन दस्तावेज़ों से बिल्कुल भी निपटना नहीं चाहते हैं, तो उन्हें फ़िल्टर करें और बस $sort
शेष:
db.foo.aggregate([
{$match: {"nt": {$exists: true}}}
,
{$sort: { "nt": 1}}
]);