1

mongodb でデータを検索しようとしています。私はこのようなデータを持っています

{"name":"xxxx","product":"laptop,phone,mobile"}
{"name":"yyyy","product":"phone,iphone,pendrive"} 

「電話」がプロダクトキーにあるのを見つけようとしているので、ターミナルでこのコマンドを試しました

db.collection.find({"product": /phone/});

それは正常に動作していますが、私のアプリケーションでは動作していません。そのため、アプリケーションでそのように動的に試しました。

var key=phone;
var name="/"+key+"/"; 
collection.find({"product":name}).toArray(function(err,result)
{
   console.log(result.length);
});

しかし、私は常に0の長さしか取得していないので、それを動的に使用するにはどうすればよいですか?

4

2 に答える 2

1
var key = 'phone';
var reg = RegExp('.*'+key+'.*','gi');
collection.find({"product":{ $regex: reg }).toArray(function(err,result){

}

キーが文字列の間に表示されている場合も、これは機能します

于 2013-02-14T07:23:11.323 に答える