gpt4 book ai didi

mongodb - MongoDB 中的 .find() 具有多个条件

转载 作者:行者123 更新时间:2023-12-02 17:21:12 25 4
gpt4 key购买 nike

我正在使用 Meteor 和 JavaScript 构建一个 Web 应用程序,并且想要根据属性过滤 JSON 对象。我可以运行 fullList.find() 来获取所有内容,并运行 fullList.find({'Color': 'r'}) 来仅获取“红色”项目,但我想要返回所有“红色”或“蓝色”的项目,并且无法找出正确的语法。我尝试过各种组合,例如 fullList.find({'Color': 'r' || 'b'})fullList.find({'Color': ('r ' || 'b')}),但它要么根本不运行,要么返回仅具有一个属性的项目,而不是返回具有任一属性的项目。我觉得这应该是一个简单的修复,我只是对 JavaScript 不太熟悉。

为了完整性,这是我的(相关)代码。只有两个条件为真(而不是一个或三个)的逻辑是失败的:

indicadores: function(){
if (Session.get("displayUrgencies")){
if (Session.get("displayInsuff")){
if (Session.get("displayStrengths")){
console.log("display all");
return fullList.find();
}
else {
console.log("display urgencies and insufficiencies");
return fullList.find({'Color': 'v' || 'r'});
}
}
else {
if (Session.get("displayStrengths")){
console.log("display urgencies and strengths");
return fullList.find({'Color': 'b' || 'r'});
}
else {
console.log("display urgencies");
return fullList.find({'Color': 'r'});
}
}
}
else if (Session.get("displayInsuff")){
if (Session.get("displayStrengths")){
console.log("display insufficiencies and strengths");
return fullList.find({'Color': 'v' || 'b'});
}
else {
console.log("display insufficiencies");
return fullList.find({'Color': 'v'});
}
}
else if (Session.get("displayStrengths")){
console.log("display strengths");
return fullList.find({'Color': 'b'});
}
else {
console.log("display all (default)");
return fullList.find();
}
},

最佳答案

这个.find函数不是JS本身的一部分。它是 MongoDB 集合的属性。您可以简单地使用$or MongoDB selector 。像这样:

fullList.find({
$or: [
{'Color': 'r'},
{'Color': 'b'}
]
})

在您的示例中,fullList 是 MongoDB 集合。您可以阅读有关它们的更多信息 here .

关于mongodb - MongoDB 中的 .find() 具有多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31077731/

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