Javascript 尝试使用NodeJS从MongoDB限制我的结果并对数据进行排序
我正在使用MongoDB和Node.JS,我正在尝试从我的MongoDB中获取数据并显示到我的html页面中,我正在使用下面的代码,但是这只是以不特定的顺序返回所有条目: server.jsJavascript 尝试使用NodeJS从MongoDB限制我的结果并对数据进行排序,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我正在使用MongoDB和Node.JS,我正在尝试从我的MongoDB中获取数据并显示到我的html页面中,我正在使用下面的代码,但是这只是以不特定的顺序返回所有条目: server.js // This is for getting the list of all players from my DB app.get("/getPlayers", function(request, response) { db.getPlayers().then(function(players){
// This is for getting the list of all players from my DB
app.get("/getPlayers", function(request, response) {
db.getPlayers().then(function(players){
console.log(players);
response.send(players);
});
});
var Player = mongoose.model("Player", {name: String, score: Number});
module.exports.Player = Player;
leadership.html
<script>
$(function() {
$.get("http://localhost:9000/getPlayers", {}, function (res) {
let data = res;
console.log(res);
for (i = 0; i < data.length; i++) {
let name = data[i].name;
let score = data[i].score;
console.log(data[i].name);
$("#leadership").append("<tr><td class=\"name\">"
+ data[i].name + "</td><td class=\"score\">"
+ data[i].score + "</td></tr>");
}
});
});
</script>
但是,我的Chrome控制台返回一个
内部服务器错误500
。有人能指出我如何先按最大数排序,然后将结果限制为10吗?在数据库中有一个名为players的集合,其中包含name和score
db.js
// This is for getting the list of all players from my DB
app.get("/getPlayers", function(request, response) {
db.getPlayers().then(function(players){
console.log(players);
response.send(players);
});
});
var Player = mongoose.model("Player", {name: String, score: Number});
module.exports.Player = Player;
试试这样的。
订单、排序和限制可以从前端传递,也可以在:标记后更改默认值
玩家是导入模型的,可以这样做,也可以在模型本身中使用方法
app.post('/api/players',(req,res)=>{
让订单=req.body.order?req.body.order:“-1”;
设sortBy=req.body.sortBy?req.body.sortBy:“\u id”;
let limit=req.body.limit?parseInt(req.body.limit):100;
球员。
查找()。
排序([[sortBy,order]])。
限制。
执行官((错误,玩家)=>{
if(err)返回res.status(400)。send(err);
res.status(200).json({
大小:玩家。长度,
球员
})
})
})
试试这样的方法。
订单、排序和限制可以从前端传递,也可以在:标记后更改默认值
玩家是导入模型的,可以这样做,也可以在模型本身中使用方法
app.post('/api/players',(req,res)=>{
让订单=req.body.order?req.body.order:“-1”;
设sortBy=req.body.sortBy?req.body.sortBy:“\u id”;
let limit=req.body.limit?parseInt(req.body.limit):100;
球员。
查找()。
排序([[sortBy,order]])。
限制。
执行官((错误,玩家)=>{
if(err)返回res.status(400)。send(err);
res.status(200).json({
大小:玩家。长度,
球员
})
})
})
你在哪个字段上排序?“我的Chrome控制台返回一个内部服务器错误500”-你的服务器日志怎么说?@SergioTulentsev它说参考错误:分数没有定义
@prasad_u~我需要在分数字段上排序,然后在顶部有最高值,然后将这些结果限制为10?看这个。你在哪个字段排序?“我的Chrome控制台返回一个内部服务器错误500”-你的服务器日志怎么说?@SergioTulentsev它说参考错误:分数没有定义
@prasad_u-我需要在分数字段排序,然后在顶部有最高值,然后将这些结果限制为10?看到了吗。可以通过,但不应该(至少不能以这种未检查的方式)。这样,你自己就可以打开应用程序进行DoS攻击。可以通过,但不应该通过(至少不能以这种未检查的方式)。这样,您自己就可以打开应用程序进行DoS攻击。