node.js - mongodb如何使用get.find(….),像sql的LIKE操作?

标签 node.js mongodb rest api express

<分区>

我正在尝试使用 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个字符的字符串。现在我只想问女巫的名字这个字符串是名字的一部分 示例 suche = “max” 输出 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"
}

最佳答案

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

您的查询如下:

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

关于node.js - mongodb如何使用get.find(….),像sql的LIKE操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42610064/

相关文章:

javascript - 使用 mocha 的 --debug-brk 开关启用 Node 调试器的正确方法是什么?

javascript - Angular 5 httpClient - 使用 PUT jsonplaceholder 404

javascript - 使用 mongoose 按 Id 删除对象

javascript - 在 Parse Cloud Code 中旋转上传的包含 EXIF 方向的图片

javascript - Mongodb $setOnInsert 不适用于 $max 和 $min

mongodb - salat是否支持scala中Either类型的反/序列化?

delphi - 我可以在Delphi 7中使用PUT和DELETE发送请求吗?

Flash 连接到 WCF 服务

node.js - Mongoose 使用父字段生成子字段

mongodb - 在不使用 GridFS 的情况下将图像存储在 MongoDB 的文档中