【问题标题】:Howe to use get.find(….) for mongodb, like a LIKE operation of sql? [duplicate]mongodb如何使用get.find(….),比如sql的LIKE操作? [复制]
【发布时间】:2017-07-25 09:42:14
【问题描述】:

我正在尝试使用 node.js、mongodb、express 和 mongojs 做一个 Rest API。 这是迄今为止有效的代码:

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 个字符的字符串。现在我只想询问女巫中的名字这个字符串是名字的一部分 例如这样的=“最大” 输出 max, Maximillian, maxi 以及其他信息给这个人。

就像 sql 中的 LIKE 操作一样,但我错过了 Select 部分,因为我可以说出我想要的。 在网络上做了一些研究后,我认为应该是这个方向的东西,但是它不起作用。

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"
}

【问题讨论】:

标签: node.js mongodb rest api express


【解决方案1】:

这个mysql-instr-like-operation-in-mongodb的副本

您的查询会是这样的:

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

【讨论】:

  • 感谢您的回答并抱歉重复,但我尝试过这样但它不起作用。我的文档总是空的。所以,我想我可能问错了问题,或者找错了地方。
猜你喜欢
  • 2013-01-28
  • 2014-04-25
  • 1970-01-01
相关资源
最近更新 更多