我有一个集合“日志”,我需要先按最近的对其进行排序。我findOne()这样做:
.sort($natural: -1)
但是,这现在没有做任何事情。
db('logs').find({'userId': userId}).sort({ $natural: -1}).toArray(function (err, result) {
if (err) console.error(err)
if (result.length > 0) {
console.log('Found ' + result.length + ' log entries', result)
if (callback) callback(result)
} else {
console.log('No log entries for ' + userId, userId)
if (callback) callback(null)
}
})
这输出与 相同$natural: 1。或者,如果我sort()一起跳过。
收藏:
{_id: "5c044d13f4c6db53a047fe37", dateTime: "2018-12-02 22:22", userId: 5, event: "Failed to update Media Package sale", info: {userId: 5, AmountOfPrePaidItems: 1}}
{_id: "5c044d2bf4c6db53a047fe38", dateTime: "2018-12-02 22:22", userId: 5, event: "Failed to update Media Package sale", info: {userId: 5, AmountOfPrePaidItems: 0}}
{_id: "5c044d56f4c6db53a047fe39", dateTime: "2018-12-02 22:23", userId: 5, event: "Failed to update Media Package sale", info: {userId: 5, AmountOfPrePaidItems: 1}}
使用 Atlas mongoDB 4.0.4
编辑1:
.sort( _id: -1)也给出相同的输出顺序