Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在meteor mongodb的javascript数组中查找_Javascript_Mongodb_Meteor - Fatal编程技术网

在meteor mongodb的javascript数组中查找

在meteor mongodb的javascript数组中查找,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,这很有效 Template.kanjifinder.kanjicharacters=函数(){ console.log(“kanjlist”); 返回kanji.find({cardd:{$in:[1,2]},{sort:{cardd:1}}); }; 但是有没有办法用javascript数组替换这个硬编码数组[1,2] var str=“123456” var cardids=str.split(“”); if(Meteor.isClient){ Template.kanjifinder.k

这很有效

Template.kanjifinder.kanjicharacters=函数(){
console.log(“kanjlist”);
返回kanji.find({cardd:{$in:[1,2]},{sort:{cardd:1}});
};
但是有没有办法用javascript数组替换这个硬编码数组
[1,2]

var str=“123456”
var cardids=str.split(“”);
if(Meteor.isClient){
Template.kanjifinder.kanjicharacters=函数(){
console.log(“kanjlist”);
返回kanji.find({cardd:{$in:*cardds**},{sort:{cardd:1}});
} 
};

您只需要在字符串中使用分隔符,也可以在代码中使用分隔符,但问题是两位数:

var str = "1,2,3,4,5,6" //<<--- use a seperator here
var cardids = str.split(","); //<<--

//remove this line if you intend to use strings in your db instead of integers
cardids = _.map(function(card) { return parseInt(card);});

if (Meteor.isClient) {
   Template.kanjifinder.kanjicharacters = function () {
     console.log("kanjlist");
     return kanji.find({cardid: {$in:cardids}}, {sort: {cardid: 1}});  
   };
}

var str=“1,2,3,4,5,6”//您只需在字符串中使用分隔符,也可以在代码中使用分隔符,但问题是两位数:

var str = "1,2,3,4,5,6" //<<--- use a seperator here
var cardids = str.split(","); //<<--

//remove this line if you intend to use strings in your db instead of integers
cardids = _.map(function(card) { return parseInt(card);});

if (Meteor.isClient) {
   Template.kanjifinder.kanjicharacters = function () {
     console.log("kanjlist");
     return kanji.find({cardid: {$in:cardids}}, {sort: {cardid: 1}});  
   };
}

var str=“1,2,3,4,5,6”//kanji集合中的文档是什么样子的?我只是在这里使用
cardd
作为测试。最终,我将尝试寻找日本汉字,而不是卡迪亚数字。但我暂时不想陷入utf-8问题。基本上:
cardd:9汉字:中" 卷:“系列2第1卷”
您的汉字集中的文档是什么样子的?我只是在这里使用
cardid
作为测试。最终我将尝试查找日文汉字而不是cardid数字。但我暂时不想陷入utf-8问题。基本上:
cardid:9汉字:中“volume:“Series 2 volume 1”
如果没有分隔符,您只会得到一个字符数组(这是我想要的)。正如我编写的console.log(cardids)=
[“1”、“2”、“3”、“4”、“5”、“6”]
。但是当我放入cardid:{$in:cardids}}我没有得到任何结果。我知道,上面是字符串,mongodb有整数,你的包中有下划线吗?这是一个类型问题吗?例如,$in不喜欢在字符串中查找数字?好的,我将用汉字而不是数字来试一下。字符串到字符串是我的最终目标。请稍等。我也将它编辑为使用整数,这是map函数将字符串转换为不带分隔符的整数,您只需得到一个字符数组(这是我想要的)。正如我编写的console.log(cardids)=
[“1”、“2”、“3”、“4”、“5”、“6”]
。但当我放入cardid:{$in:cardids}}我没有得到任何结果。我知道,上面是字符串,mongodb有整数,你的包中有下划线吗?这是一个类型问题吗?例如,$in不喜欢在字符串中查找数字?好的,我将用汉字而不是数字来试一下。字符串到字符串是我的最终目标。请稍等。我也将它编辑为使用整数,这是map函数将字符串转换为整数