gpt4 book ai didi

javascript - 如何在数组中搜索多个可能的匹配项

转载 作者:行者123 更新时间:2023-11-30 16:45:47 24 4
gpt4 key购买 nike

我有一个包含 json 数组的数组。在一种页面中排序,其中一个数组 = 包含包含 json 的表格数组的页面。

我的模型是:

var mongoose = require('mongoose');
Schema = mongoose.Schema;
var Links = new Schema({
country: {country:String,league:Array},
team:String,
dayMoney:[{day:String, money:String}]

});
mongoose.model('team', Links)

我的代码是:

Team.find({dayMoney: {"$in": [{money: '0.7800000000000002'}, { day: '24 May 2015', money: '72.61000000000001' } ]}},function(err, results) { etcc..

问题是它总是空着返回。我知道我的模型可能是这里的问题。

dayMoney: [ { money: '0', day: '16 Aug 2014' }, { money: '-1', day: '17 Aug 2014' }, { money: '-1', day: '18 Aug 2014' }, { money: '1.27', day: '23 Aug 2014' }, { money: '1.27', day: '24 Aug 2014' }, { money: '1.27', day: '25 Aug 2014' }, { money: '3.91', day: '30 Aug 2014' }, { money: '3.91', day: '31 Aug 2014' }] 

是console.loging对象之一的例子

最佳答案

使用$elemMatch$or条件指定要匹配的数组的特定元素。 $in 运算符用于作为单个值的数组参数,而不仅仅是查询数组:

Team.find({
"dayMoney": {
"$elemMatch": {
"$or": [
{ "money": '3.91'},
{ "day": '16 Aug 2015', "money": '0' }
]
}
}
},function(err,results) {
// something useful here
})

我还用您的值代替了与您给定的示例数据实际匹配的值。

要小心,因为这些是“字符串”(可能不是一个好主意),而且您在确定值的方式上似乎也存在浮点舍入问题。字符串或任何值必须是“完全匹配”,但可能落在某个范围内的数字或日期值除外。或者当然是字符串的正则表达式。

关于javascript - 如何在数组中搜索多个可能的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31258792/

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