Javascript 如何限制搜索结果并隐藏搜索结果的年龄?

Javascript 如何限制搜索结果并隐藏搜索结果的年龄?,javascript,node.js,mongodb,mongoose,backend,Javascript,Node.js,Mongodb,Mongoose,Backend,所以,我在FreeCodeCamp上学习API和微服务课程,我被困在最后一个挑战中,它说, " 找到喜欢玉米煎饼的人。按姓名排序,将结果限制为两个文档,并隐藏他们的年龄。Chain.Find(),.Sort(),.limit(),.select(),然后是.exec()。将done(err,data)回调传递给exec()。 " 挑战链接: 到目前为止,我的代码是: var queryChain = function(done) { var foodToSearch = "burr

所以,我在FreeCodeCamp上学习API和微服务课程,我被困在最后一个挑战中,它说, " 找到喜欢玉米煎饼的人。按姓名排序,将结果限制为两个文档,并隐藏他们的年龄。Chain.Find(),.Sort(),.limit(),.select(),然后是.exec()。将done(err,data)回调传递给exec()。 " 挑战链接:

到目前为止,我的代码是:

var queryChain = function(done) {
  var foodToSearch = "burrito";
  Person.find({food:foodToSearch})
        .sort((a,b)=>{
    if(a.name>b.name) return 1
    else if(a.name<b.name) return 0
    else return 0
  })
        .limit(2)
        .select()
        .exec((err,data)=>{
    if(err) console.log(err)
    done(null,data)
  })
};
var queryChain=函数(完成){
var foodToSearch=“玉米煎饼”;
Person.find({food:foodToSearch})
.排序((a,b)=>{
如果(a.name>b.name)返回1
如果(a.name)的话{
if(err)console.log(err)
完成(空,数据)
})
};

有谁能帮助我限制搜索查询并隐藏年龄吗?

编辑:我错过了使用
select()
的必要部分

我不知道你为什么把排序弄得这么复杂。Mongodb能够对字符串进行排序

var queryChain = function(done) {
  const foodToSearch = 'burrito';
  Person.find({food:foodToSearch})
        .sort({ name: 1 }) // -1 for descending
        .limit(2)
        .select({ age: 0 })
        .exec((err,data)=>{
          if(err) console.log(err);
          done(null, data);
        })
};

上面的代码应该可以使用。

实际上,这个代码是有效的。首先,我犯了一个错误,把参数命名错误。这里的关键应该是“favoriteFoods”而不是“foods”。选择('name favoriteFoods')会隐藏年龄

var queryChain = function(done) {
  var foodToSearch = "burrito";
  Person.find({favoriteFoods:foodToSearch})
        .sort({ name:1 })
        .limit(2)
        .select('name favoriteFoods')
        .exec(done)
};

这个密码对我来说很有魅力

const person = Person.find({ favoriteFoods: foodToSearch });

person.sort({ name: 1 })
.limit(2)
.select('name favoriteFoods')
.exec(function(error, people) {
    if(error) return console.log(error);
    done(null, people);
})

我错过了你必须使用选择功能的部分。我的不好。