我正在使用nodejs+mongodb运行服务器:
let MongoClient = require('mongodb').MongoClient.connect("mongodb://localhost:27017/mydb", { useNewUrlParser: true } ),
(async () =>{
let client;
try {
client = await MongoClient;
...
我正在创建一些数据可视化,我需要一种简单的方法来从 JavaScript 访问我的后端数据,这可能吗?理想情况下,我想要完全访问权限。
最佳答案
你必须 build 一座桥梁,例如使用 REST API:
// server.js
// npm install express, body-parser, mongodb
const app = require("express")();
const bodyParser = require("body-parser");
const db = require("mongodb").MongoClient.connect(/*...*/);
app.use(bodyParser.json());
app.post("/findOne", async (req, res) => {
try {
const connection = await db;
const result = await connection.findOne(req.body);
if(!result) throw new Error("Not found!");
res.status(200).json(result);
} catch(error) {
res.status(500).json(error);
}
});
// ... all those other methods ...
app.listen(80);
这样您就可以在客户端轻松连接到它:
// client.js
function findOne(query) {
const result = await fetch("/findOne/", {
method: "POST",
body: JSON.stringify(query),
headers:{
'Content-Type': 'application/json'
}
});
if(!result.ok) throw await result.json();
return await result.json();
}
<小时/>
注意:我希望您知道,如果您没有正确验证请求/添加身份验证,您也会允许一些陌生人使用您的数据库。
关于javascript - 从javascript访问mongodb+nodjs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53306480/