使用Javascript在mongo中数组indexOf
Arrays indexOf in mongo using Javascript
我在mongodb之外的脚本中有一个数组,名为title。而且,我有一个数据集,其中包含一些字段,我不希望在mongodb中使用(dataset_1)。我正在为匹配值创建if indexOf,以便创建排名。
数据集_1如下所示。
geotype state numbers
state Alabama 14
state Alaska 344
state California 144
state New York 255
state Washington 233
state Guam 255
state Puerto Rico 36
state Virgin Islands 366
state Delaware 434
state New Mexico 444
state Maryland 544
...
var title看起来像这个
var title = [
'Alabama',
'Alaska',
'California',
'New York',
'Washington',
'Delaware',
'New Mexico',
'Maryland'
...]
如果您注意到var title仅包含美国各州而非领土。
我的最终目标是,如果与title数组匹配,则在新列中按"数字"对状态进行排序。如果没有比赛,我不希望它被排名。例如,我不希望关岛和波多黎各排名。
if (Dataset_1[column].indexOf(title) > -1) {
execute
}
以下是我的排名JS代码与mongodb数据集更新。
//This is my script which also contains var title.
var rank = 0;
var rank_value = Infinity;
db.Dataset_1.find({'geo_type': 'state'}).sort({'numbers': -1}).forEach(function(doc){
if (doc['state'].indexOf(title) > -1) {
if (doc['numbers'] < rank_value) {
rank_value = doc['numbers'];
rank = rank + 1;
}
if (doc['numbers'] != null) {
db.Dataset_1.update({
'_id' : doc['_id']
},{$set: {
'ranking' : rank
}})
}
}
});
此代码对所有字段进行排名,而不考虑我设置的indexOf。我做indexOf函数正确吗?
我试过很多不同的方法。要么是语法错误,要么是不需要的字段。
这里总结一下输出示例。
geotype state numbers ranking
state Alabama 14 11
state Alaska 344 5
...
问题出现在:
if (Dataset1.indexOf(title > -1)) {
execute
}
应为:if(Dataset1.indexOf(title) > -1)
编辑:
你想检查状态是否在标题列表中,那么你需要有:
if(title.indexOf(doc['state']) > -1)
而不是
if (Dataset1.indexOf(title) > -1)
相关文章:
- inArray,indexOf在二维数组中
- 为什么空数组上的 indexOf 不返回 -1
- 对象不支持在调用 indexOf 定义的数组时 IE8 中未定义的此属性或方法
- 使用Javascript在mongo中数组indexOf
- Javascript性能:如何在数组中循环并检查每个值比indexOf、search和match更快
- 数组表示形式内的字符串IndexOf
- javascript indexOf 无法检查数组中的相同数字
- JavaScript:Association/Object数组中的indexOf
- javascript数组indexOf中使用的regex
- 多维数组indexOf不工作js
- 哪个值是javascript数组.indexOf作为索引位置
- 对象值匹配数组indexOf中的任意值
- Javascript:什么查找更快:数组.indexOf vs对象哈希值
- 数组indexOf和过滤器实现的IE给其他问题
- JavaScript数组indexOf数组
- JavaScript数组indexOf()方法不工作
- 为什么IE7 javascript数组.indexOf不工作
- 怎么能数组.indexOf比Array.some更有效
- Javascript数组indexOf返回未定义的值
- Javascript数组indexOf by Key,Value问题