gpt4 book ai didi

javascript - 如果我链接 .sort(), Mongoose 查询会失败

转载 作者:行者123 更新时间:2023-11-27 23:26:57 24 4
gpt4 key购买 nike

使用 Mongoose 4.3.6

这个查询完美运行:(这是coffeScript,我在下面添加了等效的Javascript)

age = 43200000 # Milliseconds = 24h

Ad
.find
site : body.codeName
checked :
$lt : new Date( (new Date()) - age )
.exec (err,ads) ->
return res.status(500).send err if err
log "Found #{ads.length} ads"

所以它有效,我明白

"Found 38246 ads"

但是如果我想对“选中”字段进行排序:

age = 43200000 # Milliseconds = 24h

Ad
.find
site : body.codeName
checked :
$lt : new Date( (new Date()) - age )
.sort '-checked'
.exec (err,ads) ->
return res.status(500).send err if err
log "Found #{ads.length} ads" # ads is undefined

然后我得到

"Error : ads is undefined"

显然“checked”字段存在,因为查询 #1 有效。在我的 Mongoose 模型中,它的类型为“Date”。

<小时/>

与编译的 Javascript 相同的代码:

var age = 43200000;

Ad.find({
site: body.codeName,
checked: {
$lt: new Date((new Date()) - age)
}
}).exec(function(err, ads) {
if (err) {
return res.status(500).send(err);
}
return log("Found " + ads.length + " ads");
});

"Found 38246 ads"

var age = 43200000;

Ad.find({
site: body.codeName,
checked: {
$lt: new Date((new Date()) - age)
}
}).sort('-checked').exec(function(err, ads) {
if (err) {
return res.status(500).send(err);
}
return log("Found " + ads.length + " ads"); // Error : ads is undefined
});

"Error : ads is undefined"

有什么想法吗?

最佳答案

启用 Mongoose 调试后,我设法得到以下错误输出:

[MongoError: getMore executor error: Overflow sort stage buffered data usage of 33554893 bytes exceeds internal limit of 33554432 bytes]

如果查询返回太多结果,MongoDB 似乎无法排序...

关于javascript - 如果我链接 .sort(), Mongoose 查询会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34895453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com