Javascript 如何限制搜索结果并隐藏搜索结果的年龄?
所以,我在FreeCodeCamp上学习API和微服务课程,我被困在最后一个挑战中,它说, " 找到喜欢玉米煎饼的人。按姓名排序,将结果限制为两个文档,并隐藏他们的年龄。Chain.Find(),.Sort(),.limit(),.select(),然后是.exec()。将done(err,data)回调传递给exec()。 " 挑战链接: 到目前为止,我的代码是: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
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);
})
我错过了你必须使用选择功能的部分。我的不好。