使用ExpressJ在MongoDB中获取数据请求

时间:2018-09-18 20:39:55

标签: node.js mongodb button ejs

我是nodejs / web应用程序的新手,我正在尝试从MongoDB中获取数据。 我的mongoDB的文档在集合“ a”下

class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet weak var yourTextField: UITextField!

    func textFieldDidBeginEditing(_ textField: UITextField) {
        // Your code here
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        yourTextField.delegate = self
    }

    ...

}

我想使用nodejs-> expressjs通过使用唯一关键字的按钮和文本框形式提取数据“问题”:field_value,“ Answer”:field_value,并以如下表格形式显示。

{_id:("1"), "Question":"mcq1", "Answer":"one", "Keyword":"CLASS"}
{_id:("2"), "Question":"mcq2", "Answer":"two", "Keyword":"CLASS"}
{_id:("3"), "Question":"mcq3", "Answer":"three", "Keyword":"OVERLOAD"}
{_id:("4"), "Question":"mcq4", "Answer":"four", "Keyword":"OODP"}

我已经可以使用

使用monogodb shell获得我想要的东西
<tr>
<td><%= Question %></td>
<td><%= Answer %> </td>
</tr>

当前,文本框和按钮的onclick代码在下面。

db.a.find({"Keyword":CLASS},{"Question":1,"Answer":1,_id:0})

如何通过单击按钮提取问题和答案?
使用Input Keyword to search: <input type="text" id="searchBtn" value=""> <button type="button" onclick="alert(document.getElementById('searchBtn').value)">Click me!</button> 我想以

的形式获取表格

问题,答案,关键字
mcq1,一级,
mcq2,两个,CLASS

1 个答案:

答案 0 :(得分:0)

如果您基于该关键字执行数据库查询,您将获得mongo中的匹配项,因此您可以使用输入和已有的按钮执行一个form(GET / POST)字段。这将以路由的形式包含在您的快速代码中,您可以在其中实现一些基本代码来满足您的搜索需求,并且返回值将是一些简单数据或多个匹配的数组。

这是一个基本搜索,一个用户(Miqe)曾经在这里教过我,首先您需要查询(或者您可以直接将其放在此处),然后在mongo中搜索。但是请注意,您的回调函数将返回结果,这只是返回值之后的console.log(),您可以将它们分配给变量,并以所需格式通过html中的模板引擎呈现。

query = {username: username, password: password}
dbo.collection('Users').find(query, function(err, user){
  if(err) throw new Error(err);
  if(!user) 
    console.log('Not found');
  else 
    console.log('Found!');

})

这里只是在名为Users的集合中找到的代码,您仍然需要加入路由并建立与数据库的连接。

我将留下一个对我有很大帮助的链接! mongo文档仍然是一个不错的开始。 https://www.w3schools.com/nodejs/nodejs_mongodb_query.asp