搜索MongoDb并将结果返回到HTML

时间:2019-04-27 20:48:22

标签: node.js mongodb

我有一个网络表格。我希望能够填写表单,然后从链接到搜索页面的表单中,按用户名搜索所有数据。例如,如果有一个名为Katy Bell的用户,我想返回该用户的所有信息。如果没有,我想说些不存在的用户。

我尝试使用$ text选项进行查询并创建索引。但是,它不起作用。我能够创建表格,填写表格,并通过链接为所有用户返回信息。但是,我希望能够转到搜索字段并仅搜索一个用户。

app.post("/search", function(req, res) {
    col.collection('feedbacks').find({
        "$text": {
            "$search": req.body.query
        }
    }, {
        document: 1,
        created: 1,
        _id: 1,
        feedbacks: {
            $meta: "feedbacks"
        }
    }, {
        sort: {
            feedbacks: {
                $meta: "feedbacks"
            }
        }
    }).toArray(function(err, items) {
        res.send(pagelist(items));
    })
});

app.listen(process.env.PORT || 3000, process.env.IP || '0.0.0.0' );

});


function pagelist(items) {
    result = "<html><body><ul>";
    items.forEach(function(item) {
        itemstring = "<li>" + item._id + "<ul><li>" + item.feedbacks +
        "</li><li>" + item.created + "</li><li>" + item.document +
        "</li></ul></li>";
        result = result + itemstring;
    });
    result = result + "</ul></body></html>";
    return result;
}

0 个答案:

没有答案