簡體   English   中英

使用ExpressJ在MongoDB中獲取數據請求

[英]Get Request for data in MongoDB with ExpressJs

我是nodejs / web應用程序的新手,我正在嘗試從MongoDB中獲取數據。 我的mongoDB的文檔集合為“ a”

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

我想使用唯一的關鍵字通過按鈕和文本框形式使用nodejs-> expressjs提取數據“問題”:field_value,“ Answer”:field_value,並以表格形式顯示,如下所示。

<tr>
<td><%= Question %></td>
<td><%= Answer %> </td>
</tr>

我已經能夠使用monogodb shell獲得我想要的東西

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

當前,文本框和按鈕onclick代碼在下面。

Input Keyword to search: <input type="text" id="searchBtn" value="">
<button type="button" onclick="alert(document.getElementById('searchBtn').value)">Click me!</button>

單擊按鈕如何提取問題和答案?
我想使用db.a.find({"Keyword":CLASS},{"Question":1,"Answer":1,_id:0})來獲取以下形式的表格

問題,答案,關鍵字
mcq1,一級
mcq2,兩個,CLASS

如果您基於該關鍵字進行數據庫查詢,則會得到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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM