我很难理解如何从我的本机应用程序连接到MongoDB Atlas集群。我想要做的基本上是从组件登录页面(用户名和密码)中获取数据,然后连接到Atlas Cluster数据库以查看数据是否存在。
我使用React Native并使用Expo来创建应用程序。打开我的登录页面,然后输入数据。
我想获取这些数据,然后使用以下代码(来自Atlas网站连接字符串)进行连接和检查。
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://<userName>:<password>@testcluster1-dbdq3.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
client.close();
});
由于react-native建立服务器,我需要参与Express吗?这是我的新手,因此我仍在尝试找出要使用的软件包。我是否还应该安装mongoose或mongoDB或同时安装(从NPM)。我试图从基本的角度和所需的软件包中总结一下这是如何工作的。
我想从我的登录页面到数据库对我的userID和PW进行检查,以查看该用户是否存在。如果用户没有,那么我将让他们填写一些信息并注册,这意味着将新用户写入我的数据库。
所以基本上,我需要了解以下代码的逻辑:
谢谢
答案 0 :(得分:0)
我认为您应该按照mongodb在此处建议的格式重写代码:
https://mongodb.github.io/node-mongodb-native/api-articles/nodekoarticle1.html
从本质上说:
try {
JSONObject obj=new JSONObject(response);
String name=obj.getString("name");
int age=obj.getInt("age");
String city=obj.getString("city");
} catch (JSONException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
如果任何npm软件包可与RN(React Native)一起使用,则可以在Expo中使用任何npm软件包,但是您可能需要分离才能这样做。不幸的是,任何包含本地iOS或Android代码的npm软件包都无法与Expo一起使用。由于MongoDB NPM软件包仅在其文档中提到了Node.js,因此这并不意味着它将在React Native上运行。这就是为什么MongoDB在此页面上发布有关JUST React Native https://docs.mongodb.com/realm/tutorial/react-native/
的原因您可能需要使用Realm Package通过React Native连接到MongoDB。