2017-03-05 39 views
0

我正在尝试使用node.js,mongodb,express和mongojs来执行Rest API。 这是到目前为止的代码其中工程:Howe为mongodb使用get.find(...。),就像使用sql的LIKE操作一样?

app.get('/personen/:suche',function(req,res){ 
    var suche = req.params.suche; 
    console.log(suche); 
    db.personen.find(function (err, docs){ 
     console.log(docs); 
     res.json(docs); 
    }); 

}); 

现在我已经在数据库中的所有的人。

变量“suche”是一个3 char字符串。现在我想问一下这个字符串是否为名字的一部分 示例suche =“max” 输出最大值,最大值,最大值,最大值,其余信息给这个人。

像在sql中的操作LIKE,但我想念的选择部分是我可以说我想要的。 在网络上进行了一些研究之后,我认为它应该是朝着这个方向发展的,但它不起作用。

app.get('/personen/:suche',function(req,res){ 
    var suche = req.params.suche; 
    console.log(suche); 
    db.personen.find({name: /suche/},function (err, docs){ 
     console.log(docs); 
     res.json(docs); 
    }); 

}); 

我不确定这个错误是否真的在find函数中,或者我错过了一个演员阵容。 我没有收到错误消息,只是空白的文档。

非常感谢您对每一个想法,并对坏英语感到抱歉。

PS:如果有帮助,那么数据库内容的

> db.personen.find().pretty() 
{ 
     "_id" : ObjectId("58b9e43fd90231e4c9bb0b61"), 
     "vorname" : "max", 
     "nachname" : "muster", 
     "nr" : "1111" 
} 
{ 
     "_id" : ObjectId("58b9e43fd90231e4c9bb0b62"), 
     "vorname" : "hans", 
     "nachname" : "müller", 
     "nr" : "2222" 
} 
{ 
     "_id" : ObjectId("58b9e43fd90231e4c9bb0b63"), 
     "vorname" : "friz", 
     "nachname" : "meier", 
     "nr" : "3333" 
} 
{ 
     "_id" : ObjectId("58b9e43fd90231e4c9bb0b64"), 
     "vorname" : "christoph", 
     "nachname" : "hugetobler", 
     "nr" : "4444" 
} 
{ 
     "_id" : ObjectId("58b9e43fd90231e4c9bb0b65"), 
     "vorname" : "helmut", 
     "nachname" : "boss", 
     "nr" : "5555" 
} 
{ 
     "_id" : ObjectId("58b9e43fd90231e4c9bb0b66"), 
     "vorname" : "kevin", 
     "nachname" : "küffer", 
     "nr" : "6666" 
} 
{ 
     "_id" : ObjectId("58b9e43fd90231e4c9bb0b67"), 
     "vorname" : "maximilian", 
     "nachname" : "murer", 
     "nr" : "7777" 
} 
{ 
     "_id" : ObjectId("58b9e43fd90231e4c9bb0b68"), 
     "vorname" : "maxi", 
     "nachname" : "mayer", 
     "nr" : "8888" 
} 
+1

http://stackoverflow.com/questions/ 3305561/how-to-query-mongodb-like-like –

+0

Karl,在链接副本中查看[this answer](http://stackoverflow.com/a/31938474/1259510),因为'suche'是一个变量。你目前的尝试正在寻找字符串“suche”本身。 – JohnnyHK

回答

0

重复此mysql-instr-like-operation-in-mongodb

您的查询会是这样:

db.personen.find({name: /suche/}) 
+0

感谢您的回答,并抱歉重复,但我试过这样,但它不起作用。我的文档总是空的。所以,我想我可能会提出错误的问题或者在错误的地方看问题。 –

相关问题