Javascript 如何根据路由中的变量访问MongoDB中的数据?
我正在修改一个flashcard应用程序,该应用程序当前设置为从JSON文件中提取问题、提示和答案。我想从Mongo数据库中提取所有这些信息 我已经在MongoDB本地建立了一个名为“flashcards”的数据库和一个名为“cards”的集合。“卡片”收藏中已经有五个文档——每个文档包含一个问题、一个提示和一个答案 我有一个这样设置的路由:Javascript 如何根据路由中的变量访问MongoDB中的数据?,javascript,mongodb,express,mongoose,Javascript,Mongodb,Express,Mongoose,我正在修改一个flashcard应用程序,该应用程序当前设置为从JSON文件中提取问题、提示和答案。我想从Mongo数据库中提取所有这些信息 我已经在MongoDB本地建立了一个名为“flashcards”的数据库和一个名为“cards”的集合。“卡片”收藏中已经有五个文档——每个文档包含一个问题、一个提示和一个答案 我有一个这样设置的路由:localhost:5000/${id}?side=${question/answer},我想用一个id填充该路由,并根据Mongo中“cards”集合中关
localhost:5000/${id}?side=${question/answer}
,我想用一个id填充该路由,并根据Mongo中“cards”集合中关联文档的id显示一个问题或答案
在从JSON提取时给每个问题一个id很容易,您只需设置一个需要JSON文件的变量,然后就可以使用点符号或括号符号访问每个元素。i、 e:
const cards = require('./data/flashcardData.json');
一般格式如下所示:
cards[id][side];
抓取第一张卡片和问题侧的具体示例:
cards[0][question];
JSON供参考:
{
"data": {
"title": "JavaScript Flashcards",
"cards": [
{
"question": "What language are Express apps written in?",
"hint": "It starts with a \"J\"",
"answer": "JavaScript"
},
{
"question": "What is one way a website can store data in a user's browser?",
"hint": "They are delicious with milk",
"answer": "Cookies"
},
{
"question": "What is a common way to shorten the response object's name inside middleware?",
"hint": "It has the same abbreviation as \"resolution\"",
"answer": "res"
},
{
"question": "How many different values can booleans have?",
"hint": "Think: binary",
"answer": "2"
},
{
"question": "Which HTML element can contain JavaScript?",
"hint": "It starts with an \"s\"",
"answer": "<script>"
}
]
}
}
{
“数据”:{
“标题”:“JavaScript抽认卡”,
“卡片”:[
{
“问题”:“Express应用程序是用什么语言编写的?”,
“提示”:“它以\“J\”开头,
“答案”:“JavaScript”
},
{
“问题”:“网站在用户浏览器中存储数据的一种方式是什么?”,
“提示”:“加牛奶很好吃”,
“答案”:“饼干”
},
{
“问题”:“在中间件中缩短响应对象名称的常用方法是什么?”,
“提示”:“其缩写与“决议”相同,
回答:“res”
},
{
“问题”:“布尔值可以有多少个不同的值?”,
“提示”:“思考:二进制”,
“答复”:“2”
},
{
“问题”:“哪个HTML元素可以包含JavaScript?”,
“提示”:“它以\“s\”开头,
“答复”:”
}
]
}
}
以下是“flashcards”数据库中的“cards”集合的外观,其信息与上述相同:
{
"_id": ObjectId("5a8b3084c926c61f9f90b61a"),
"question": "What language are Express apps written in?",
"hint": "It starts with a \"J\" ",
"answer": "Javascript"
}
{
"_id": ObjectId("5a8b31eac5fcfe1fc032ceda"),
"question": "What is one way a website can store data in a user's browser?",
"hint": "They are delicious with milk",
"answer": "Cookies"
}
{
"_id": ObjectId("5a8b31eac5fcfe1fc032cedb"),
"question": "What is a common way to shorten the response object's name inside middleware?",
"hint": "It has the same abbreviation as \"resolution\" ",
"answer": "res"
}
{
"_id": ObjectId("5a8b31eac5fcfe1fc032cedc"),
"question": "How many different values can booleans have?",
"hint": "Think binary",
"answer": "2"
}
{
"_id": ObjectId("5a8b3264e122b41fce2fbcbd"),
"question": "Which HTML element can contain JavaScript?",
"hint": "It starts with an \"s\" ",
"answer": "<script>"
}
{
“_id”:ObjectId(“5a8b3084c926c61f9f90b61a”),
“问题”:“Express应用程序是用什么语言编写的?”,
“提示”:“它以\“J\”开头,
“答案”:“Javascript”
}
{
“_id”:ObjectId(“5a8b31eac5fcfe1fc032ceda”),
“问题”:“网站在用户浏览器中存储数据的一种方式是什么?”,
“提示”:“加牛奶很好吃”,
“答案”:“饼干”
}
{
“_id”:ObjectId(“5a8b31eac5fcfe1fc032cedb”),
“问题”:“在中间件中缩短响应对象名称的常用方法是什么?”,
“提示”:“其缩写与“决议”相同,
回答:“res”
}
{
“_id”:ObjectId(“5A8B31EAC5FCFE1FC032CDC”),
“问题”:“布尔值可以有多少个不同的值?”,
“提示”:“思考二进制”,
“答复”:“2”
}
{
“_id”:ObjectId(“5a8b3264e122b41fce2fbcbd”),
“问题”:“哪个HTML元素可以包含JavaScript?”,
“提示”:“它以\“s\”开头,
“答复”:”
}
我如何复制Mongo之前发生的事情