尝试免费且便捷地使用MongoDB Atlas搭建数据库环境
我正在做调研,并发现了MongoDB Atlas,我打算试试看。
这是MongoDB官方提供的服务,不需要自己安装,而且还免费,可以非常轻松地开始使用。
我稍微试了一下,感觉适合用于原型制作和演示,所以我会以这种角度来介绍。
MongoDB的数据库即服务 (DBaaS)
使用Atlas可以轻松创建MongoDB集群,并进行各种管理。虽然性能和功能有一定限制,但也有可以免费使用的集群类型。
有一些文章介绍了这一点。
参考资料:开始使用MongoDB Atlas(MongoDB作为服务)
我完全没有意识到,但是似乎出现了一个方便的物品啊。
在使用各家基础设施的服务时,我感受到了类似AWS的DocumentDB和Azure的CosmosDB的氛围。
虽然有相似的氛围,但我觉得比起各家公司的各项服务,开始使用时更加轻松。
我认为原本的推销点是基于基础设施的各种管理功能。
个人而言,我认为能够轻松开始使用MongoDB,而无需自行安装和托管等操作,是一个非常好的地方。
可以免费开始,无需信用卡注册等。可以免费开始使用,很容易试用,非常好。您可以完全免费开始使用,无需信用卡注册等步骤。
即使是免费计划,基本功能似乎没有限制。
MongoDB Atlas通过托管服务支持跨越AWS/Azure/GCP的多云集群架构。即使特定云服务全部故障,也能实现无影响的运营。
使用高级计划,即使某些云端服务出现问题,也不用担心!似乎可以使用类似的功能。
在管理界面上查看数据方便在网上有一个管理界面,可以方便地查看数据和流量,这也非常不错。
这个是在尝试插入数据时的管理界面,看起来很像Firebase。
似乎过渡很容易。在最初注册之后,MongoDB 的使用方式会变得与通常情况下(在应用源代码级别上)相似,这也是令人感到高兴的。
如果以原型方式创建服务并且预计访问量增加,那么我们可以自己在另一种基础设施中安装MongoDB并且只需修改连接信息即可使用。
假设最开始使用Firebase,但中途想要改用MongoDB的情况下(虽然不确定是否存在),相比之下我认为更容易。
关于数据迁移是否具备功能尚未调查确认。
尝试使用MongoDB Atlas首先从注册开始
可以从首页的“开始免费”按钮开始。
我同意隐私政策后继续。
确定组织名称或项目名称,然后选择喜欢的语言。我选择了JavaScript。
下一个计划是,如果选择免费使用的话,可以使用Shared Clusters。
可以从AWS/GCP/Azure中选择后端基础设施。在内部,可以选择使用哪个基础设施服务。很有意思。
我会选择Azure,原因是我经常使用Azure。我发现可以选择使用香港地区。
实际上,在这里选择使用的AWS、GCP和Azure没有明确提及,所以我认为在使用免费版时,任何选择实际上都可以。
-
Shared RAM
-
512 MBストレージ
-
MongoDB 4.2
バックアップなし
在这种情况下,你可以更改Cluster Name(类似于应用程序名称),但我选择使用默认的Cluster0名称创建了。
请注意:查看AWS、GCP和Azure可用的亚洲地区。我认为,如果从日本使用的话,通常会选择亚洲地区,所以我查看了可用的亚洲地区。
AWSはムンバイとシンガポール
GCPは日本リージョンが使える
Azureは香港
我在Azure上做出了选择,但在日本使用的话,或许选择GCP并选择日本区域会更好呢。
确认连接信息我们将在下一个界面稍等片刻。创建集群需要一些时间。让我们从连接按钮开始创建连接信息吧。
1. 接続セキュリティ情報を作成在连接的IP地址上进行IP地址限制设定。
暂时先选择允许从任何地方访问且没有任何限制。

次にデータベースユーザー名とパスワードを作成します。
当您开始进行设置时,左下角的进度条会逐渐前进,非常易于理解。
2. 确认连接方法然后我们选择连接方式。因为它只是提供了连接示例,所以无论选择哪一个都可以。
-
shellから
-
各アプリケーションから
GUIから
可以选择不同的连接方式。由于本次我们选择在Node.js中进行连接,所以选择Connect your application。
展示示例也是可以的,对于我的情况,显示了类似这样的示例。
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://ユーザー名:<password>@クラスター名.xxxx.mongodb.net/<dbname>?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();
});
在这个时候,”クラスター名.xxxx.mongodb.net”是我当前的托管URL(其中xxxx是隐藏字),如果创建时使用了其他名称,可能会变成”クラスター名.x30i0.mongodb.net”。因此,可能需要考虑更改计划,选择托管在哪个基础架构中或每次创建时都会有所变化。
顺便提一下,它可能成为组织的名称。
尝试从Node.js访问Node.js的版本是v15.5.0。
$ npm init -y
$ npm i mongodb
然后,首先进行准备工作。
抑制警告对应
app.jsなどを作成し、先程のサンプルをそのまま実行すると
$ node app.js
(node:24495) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
といった警告が出ます。
需要添加useUnifiedTopology: true对吗?
参考:当mongoose出现DeprecationWarning时应该怎么处理
我在考虑这一点后,尝试更改连接示例。
const MongoClient = require('mongodb').MongoClient;
const DB_NAME = `xxxxxx`;
const USER_NAME = `xxxxxx`;
const USER_PASSWD = `xxxxxxx`;
const HOST_NAME = `cluster0.xxxx.mongodb.net`; //クラスター名やホスティング先によって変わる
const uri = `mongodb+srv://${USER_NAME}:${USER_PASSWD}@${HOST_NAME}/${DB_NAME}?retryWrites=true&w=majority`;
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true});
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
console.log("Connected successfully to server");
client.close();
});
执行后成功连接。
$ node app.js
Connected successfully to server
添加数据
我会尝试添加数据。我已经重写了之前代码中的client.connect部分。
在test数据库的device集合中添加数据。
//省略
client.connect(err => {
const collection = client.db('test').collection('devices');
// perform actions on the collection object
console.log('Connected successfully to server');
const documents = [
{ a: 1 },
{ a: 2 },
{ a: 3 }
];
collection.insertMany(documents, (err, result) => {
console.log('Inserted 3 documents into the collection');
console.log(result);
client.close();
})
});
参考:尝试使用Node.js连接MongoDB
执行
$ node app.js
Connected successfully to server
Inserted 3 documents into the collection
{
result: { ok: 1, n: 3, opTime: { ts: [Timestamp], t: 2 } },
ops: [
{ a: 1, _id: 5fec8c55d967cf6260da05e1 },
{ a: 2, _id: 5fec8c55d967cf6260da05e2 },
{ a: 3, _id: 5fec8c55d967cf6260da05e3 }
],
insertedCount: 3,
insertedIds: {
'0': 5fec8c55d967cf6260da05e1,
'1': 5fec8c55d967cf6260da05e2,
'2': 5fec8c55d967cf6260da05e3
}
}
数据成功创建,并且我在管理界面上也确认了这一点。
您可以通过管理界面上的COLLECTIONS按钮进行查看。
这些部分的使用方式和通常的MongoDB没有变化。
如果查看MongoDB官方文档或MongoDB的SDK等,应该可以很好地了解数据编辑和删除操作的使用方法。
总结和大纲(涉及到领域之类的话题)可能是因为之前已经有使用过Node.js处理MongoDB的经验,所以能够开始使用而没有特别困难的地方。
在进行原型制作时,暂时使用数据库似乎是合适的选择。
我认为Firebase等选项可能会受到考虑,但因为是为Firebase编写的代码,当需要更改后端时可能会感到非常麻烦。
从前端访问API等方面来看,似乎并没有与Firebase Cloud Firestore等价的替代方案。然而,我们可以通过MongoDB Atlas的管理界面创建Realm DB(mBaaS),并且据说可以使用该服务的前端浏览器SDK(尚未实际尝试)。
请提供一种选择的中文释义:
https://www.npmjs.com/package/mongodb-stitch-browser-sdk
– `https://www.npmjs.com/package/mongodb-stitch-browser-sdk`:获得MongoDB Stitch浏览器SDK的链接
在这一步,可能可以将其用作Firebase Cloud Firestore的替代产品。
王国,最近没有关注,但是我发现MongoDB收购了它。我之前以为这是本地应用程序开发领域的事情,但是考虑到MongoDB的一部分,似乎也适合Web开发者关注。
当使用Mongo DB Atlas进行开发时,可以借鉴Mongo DB的知识,并且如果需要扩展,还可以选择将其替换为正式的MongoDB,这样可以尽量减少在代码级别上的修改。

使用Atlas可以轻松创建MongoDB集群,并进行各种管理。虽然性能和功能有一定限制,但也有可以免费使用的集群类型。
有一些文章介绍了这一点。
参考资料:开始使用MongoDB Atlas(MongoDB作为服务)
我完全没有意识到,但是似乎出现了一个方便的物品啊。
在使用各家基础设施的服务时,我感受到了类似AWS的DocumentDB和Azure的CosmosDB的氛围。
虽然有相似的氛围,但我觉得比起各家公司的各项服务,开始使用时更加轻松。
我认为原本的推销点是基于基础设施的各种管理功能。
个人而言,我认为能够轻松开始使用MongoDB,而无需自行安装和托管等操作,是一个非常好的地方。
可以免费开始,无需信用卡注册等。可以免费开始使用,很容易试用,非常好。您可以完全免费开始使用,无需信用卡注册等步骤。
即使是免费计划,基本功能似乎没有限制。
MongoDB Atlas通过托管服务支持跨越AWS/Azure/GCP的多云集群架构。即使特定云服务全部故障,也能实现无影响的运营。
使用高级计划,即使某些云端服务出现问题,也不用担心!似乎可以使用类似的功能。
在管理界面上查看数据方便在网上有一个管理界面,可以方便地查看数据和流量,这也非常不错。
这个是在尝试插入数据时的管理界面,看起来很像Firebase。
似乎过渡很容易。在最初注册之后,MongoDB 的使用方式会变得与通常情况下(在应用源代码级别上)相似,这也是令人感到高兴的。
如果以原型方式创建服务并且预计访问量增加,那么我们可以自己在另一种基础设施中安装MongoDB并且只需修改连接信息即可使用。
假设最开始使用Firebase,但中途想要改用MongoDB的情况下(虽然不确定是否存在),相比之下我认为更容易。
关于数据迁移是否具备功能尚未调查确认。
尝试使用MongoDB Atlas首先从注册开始
可以从首页的“开始免费”按钮开始。
我同意隐私政策后继续。
确定组织名称或项目名称,然后选择喜欢的语言。我选择了JavaScript。
下一个计划是,如果选择免费使用的话,可以使用Shared Clusters。
可以从AWS/GCP/Azure中选择后端基础设施。在内部,可以选择使用哪个基础设施服务。很有意思。
我会选择Azure,原因是我经常使用Azure。我发现可以选择使用香港地区。
实际上,在这里选择使用的AWS、GCP和Azure没有明确提及,所以我认为在使用免费版时,任何选择实际上都可以。
-
Shared RAM
-
512 MBストレージ
-
MongoDB 4.2
バックアップなし
在这种情况下,你可以更改Cluster Name(类似于应用程序名称),但我选择使用默认的Cluster0名称创建了。
请注意:查看AWS、GCP和Azure可用的亚洲地区。我认为,如果从日本使用的话,通常会选择亚洲地区,所以我查看了可用的亚洲地区。
AWSはムンバイとシンガポール
GCPは日本リージョンが使える
Azureは香港
我在Azure上做出了选择,但在日本使用的话,或许选择GCP并选择日本区域会更好呢。
确认连接信息我们将在下一个界面稍等片刻。创建集群需要一些时间。让我们从连接按钮开始创建连接信息吧。
1. 接続セキュリティ情報を作成在连接的IP地址上进行IP地址限制设定。
暂时先选择允许从任何地方访问且没有任何限制。

次にデータベースユーザー名とパスワードを作成します。
当您开始进行设置时,左下角的进度条会逐渐前进,非常易于理解。
2. 确认连接方法然后我们选择连接方式。因为它只是提供了连接示例,所以无论选择哪一个都可以。
-
shellから
-
各アプリケーションから
GUIから
可以选择不同的连接方式。由于本次我们选择在Node.js中进行连接,所以选择Connect your application。
展示示例也是可以的,对于我的情况,显示了类似这样的示例。
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://ユーザー名:<password>@クラスター名.xxxx.mongodb.net/<dbname>?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();
});
在这个时候,”クラスター名.xxxx.mongodb.net”是我当前的托管URL(其中xxxx是隐藏字),如果创建时使用了其他名称,可能会变成”クラスター名.x30i0.mongodb.net”。因此,可能需要考虑更改计划,选择托管在哪个基础架构中或每次创建时都会有所变化。
顺便提一下,它可能成为组织的名称。
尝试从Node.js访问Node.js的版本是v15.5.0。
$ npm init -y
$ npm i mongodb
然后,首先进行准备工作。
抑制警告对应
app.jsなどを作成し、先程のサンプルをそのまま実行すると
$ node app.js
(node:24495) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
といった警告が出ます。
需要添加useUnifiedTopology: true对吗?
参考:当mongoose出现DeprecationWarning时应该怎么处理
我在考虑这一点后,尝试更改连接示例。
const MongoClient = require('mongodb').MongoClient;
const DB_NAME = `xxxxxx`;
const USER_NAME = `xxxxxx`;
const USER_PASSWD = `xxxxxxx`;
const HOST_NAME = `cluster0.xxxx.mongodb.net`; //クラスター名やホスティング先によって変わる
const uri = `mongodb+srv://${USER_NAME}:${USER_PASSWD}@${HOST_NAME}/${DB_NAME}?retryWrites=true&w=majority`;
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true});
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
console.log("Connected successfully to server");
client.close();
});
执行后成功连接。
$ node app.js
Connected successfully to server
添加数据
我会尝试添加数据。我已经重写了之前代码中的client.connect部分。
在test数据库的device集合中添加数据。
//省略
client.connect(err => {
const collection = client.db('test').collection('devices');
// perform actions on the collection object
console.log('Connected successfully to server');
const documents = [
{ a: 1 },
{ a: 2 },
{ a: 3 }
];
collection.insertMany(documents, (err, result) => {
console.log('Inserted 3 documents into the collection');
console.log(result);
client.close();
})
});
参考:尝试使用Node.js连接MongoDB
执行
$ node app.js
Connected successfully to server
Inserted 3 documents into the collection
{
result: { ok: 1, n: 3, opTime: { ts: [Timestamp], t: 2 } },
ops: [
{ a: 1, _id: 5fec8c55d967cf6260da05e1 },
{ a: 2, _id: 5fec8c55d967cf6260da05e2 },
{ a: 3, _id: 5fec8c55d967cf6260da05e3 }
],
insertedCount: 3,
insertedIds: {
'0': 5fec8c55d967cf6260da05e1,
'1': 5fec8c55d967cf6260da05e2,
'2': 5fec8c55d967cf6260da05e3
}
}
数据成功创建,并且我在管理界面上也确认了这一点。
您可以通过管理界面上的COLLECTIONS按钮进行查看。
这些部分的使用方式和通常的MongoDB没有变化。
如果查看MongoDB官方文档或MongoDB的SDK等,应该可以很好地了解数据编辑和删除操作的使用方法。
总结和大纲(涉及到领域之类的话题)可能是因为之前已经有使用过Node.js处理MongoDB的经验,所以能够开始使用而没有特别困难的地方。
在进行原型制作时,暂时使用数据库似乎是合适的选择。
我认为Firebase等选项可能会受到考虑,但因为是为Firebase编写的代码,当需要更改后端时可能会感到非常麻烦。
从前端访问API等方面来看,似乎并没有与Firebase Cloud Firestore等价的替代方案。然而,我们可以通过MongoDB Atlas的管理界面创建Realm DB(mBaaS),并且据说可以使用该服务的前端浏览器SDK(尚未实际尝试)。
请提供一种选择的中文释义:
https://www.npmjs.com/package/mongodb-stitch-browser-sdk
– `https://www.npmjs.com/package/mongodb-stitch-browser-sdk`:获得MongoDB Stitch浏览器SDK的链接
在这一步,可能可以将其用作Firebase Cloud Firestore的替代产品。
王国,最近没有关注,但是我发现MongoDB收购了它。我之前以为这是本地应用程序开发领域的事情,但是考虑到MongoDB的一部分,似乎也适合Web开发者关注。
当使用Mongo DB Atlas进行开发时,可以借鉴Mongo DB的知识,并且如果需要扩展,还可以选择将其替换为正式的MongoDB,这样可以尽量减少在代码级别上的修改。

MongoDB Atlas通过托管服务支持跨越AWS/Azure/GCP的多云集群架构。即使特定云服务全部故障,也能实现无影响的运营。
使用高级计划,即使某些云端服务出现问题,也不用担心!似乎可以使用类似的功能。
在管理界面上查看数据方便在网上有一个管理界面,可以方便地查看数据和流量,这也非常不错。
这个是在尝试插入数据时的管理界面,看起来很像Firebase。

似乎过渡很容易。在最初注册之后,MongoDB 的使用方式会变得与通常情况下(在应用源代码级别上)相似,这也是令人感到高兴的。
如果以原型方式创建服务并且预计访问量增加,那么我们可以自己在另一种基础设施中安装MongoDB并且只需修改连接信息即可使用。
假设最开始使用Firebase,但中途想要改用MongoDB的情况下(虽然不确定是否存在),相比之下我认为更容易。
关于数据迁移是否具备功能尚未调查确认。
尝试使用MongoDB Atlas首先从注册开始
可以从首页的“开始免费”按钮开始。




可以从AWS/GCP/Azure中选择后端基础设施。在内部,可以选择使用哪个基础设施服务。很有意思。
我会选择Azure,原因是我经常使用Azure。我发现可以选择使用香港地区。
实际上,在这里选择使用的AWS、GCP和Azure没有明确提及,所以我认为在使用免费版时,任何选择实际上都可以。
-
Shared RAM
-
512 MBストレージ
-
MongoDB 4.2
バックアップなし
在这种情况下,你可以更改Cluster Name(类似于应用程序名称),但我选择使用默认的Cluster0名称创建了。
请注意:查看AWS、GCP和Azure可用的亚洲地区。我认为,如果从日本使用的话,通常会选择亚洲地区,所以我查看了可用的亚洲地区。
AWSはムンバイとシンガポール
GCPは日本リージョンが使える
Azureは香港
我在Azure上做出了选择,但在日本使用的话,或许选择GCP并选择日本区域会更好呢。
确认连接信息我们将在下一个界面稍等片刻。创建集群需要一些时间。让我们从连接按钮开始创建连接信息吧。
1. 接続セキュリティ情報を作成在连接的IP地址上进行IP地址限制设定。
暂时先选择允许从任何地方访问且没有任何限制。

次にデータベースユーザー名とパスワードを作成します。
当您开始进行设置时,左下角的进度条会逐渐前进,非常易于理解。
2. 确认连接方法然后我们选择连接方式。因为它只是提供了连接示例,所以无论选择哪一个都可以。
-
shellから
-
各アプリケーションから
GUIから
可以选择不同的连接方式。由于本次我们选择在Node.js中进行连接,所以选择Connect your application。
展示示例也是可以的,对于我的情况,显示了类似这样的示例。
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://ユーザー名:<password>@クラスター名.xxxx.mongodb.net/<dbname>?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();
});
在这个时候,”クラスター名.xxxx.mongodb.net”是我当前的托管URL(其中xxxx是隐藏字),如果创建时使用了其他名称,可能会变成”クラスター名.x30i0.mongodb.net”。因此,可能需要考虑更改计划,选择托管在哪个基础架构中或每次创建时都会有所变化。
顺便提一下,它可能成为组织的名称。
尝试从Node.js访问Node.js的版本是v15.5.0。
$ npm init -y
$ npm i mongodb
然后,首先进行准备工作。
抑制警告对应
app.jsなどを作成し、先程のサンプルをそのまま実行すると
$ node app.js
(node:24495) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
といった警告が出ます。
需要添加useUnifiedTopology: true对吗?
参考:当mongoose出现DeprecationWarning时应该怎么处理
我在考虑这一点后,尝试更改连接示例。
const MongoClient = require('mongodb').MongoClient;
const DB_NAME = `xxxxxx`;
const USER_NAME = `xxxxxx`;
const USER_PASSWD = `xxxxxxx`;
const HOST_NAME = `cluster0.xxxx.mongodb.net`; //クラスター名やホスティング先によって変わる
const uri = `mongodb+srv://${USER_NAME}:${USER_PASSWD}@${HOST_NAME}/${DB_NAME}?retryWrites=true&w=majority`;
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true});
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
console.log("Connected successfully to server");
client.close();
});
执行后成功连接。
$ node app.js
Connected successfully to server
添加数据
我会尝试添加数据。我已经重写了之前代码中的client.connect部分。
在test数据库的device集合中添加数据。
//省略
client.connect(err => {
const collection = client.db('test').collection('devices');
// perform actions on the collection object
console.log('Connected successfully to server');
const documents = [
{ a: 1 },
{ a: 2 },
{ a: 3 }
];
collection.insertMany(documents, (err, result) => {
console.log('Inserted 3 documents into the collection');
console.log(result);
client.close();
})
});
参考:尝试使用Node.js连接MongoDB
执行
$ node app.js
Connected successfully to server
Inserted 3 documents into the collection
{
result: { ok: 1, n: 3, opTime: { ts: [Timestamp], t: 2 } },
ops: [
{ a: 1, _id: 5fec8c55d967cf6260da05e1 },
{ a: 2, _id: 5fec8c55d967cf6260da05e2 },
{ a: 3, _id: 5fec8c55d967cf6260da05e3 }
],
insertedCount: 3,
insertedIds: {
'0': 5fec8c55d967cf6260da05e1,
'1': 5fec8c55d967cf6260da05e2,
'2': 5fec8c55d967cf6260da05e3
}
}
数据成功创建,并且我在管理界面上也确认了这一点。
您可以通过管理界面上的COLLECTIONS按钮进行查看。
这些部分的使用方式和通常的MongoDB没有变化。
如果查看MongoDB官方文档或MongoDB的SDK等,应该可以很好地了解数据编辑和删除操作的使用方法。
总结和大纲(涉及到领域之类的话题)可能是因为之前已经有使用过Node.js处理MongoDB的经验,所以能够开始使用而没有特别困难的地方。
在进行原型制作时,暂时使用数据库似乎是合适的选择。
我认为Firebase等选项可能会受到考虑,但因为是为Firebase编写的代码,当需要更改后端时可能会感到非常麻烦。
从前端访问API等方面来看,似乎并没有与Firebase Cloud Firestore等价的替代方案。然而,我们可以通过MongoDB Atlas的管理界面创建Realm DB(mBaaS),并且据说可以使用该服务的前端浏览器SDK(尚未实际尝试)。
请提供一种选择的中文释义:
https://www.npmjs.com/package/mongodb-stitch-browser-sdk
– `https://www.npmjs.com/package/mongodb-stitch-browser-sdk`:获得MongoDB Stitch浏览器SDK的链接
在这一步,可能可以将其用作Firebase Cloud Firestore的替代产品。
王国,最近没有关注,但是我发现MongoDB收购了它。我之前以为这是本地应用程序开发领域的事情,但是考虑到MongoDB的一部分,似乎也适合Web开发者关注。
当使用Mongo DB Atlas进行开发时,可以借鉴Mongo DB的知识,并且如果需要扩展,还可以选择将其替换为正式的MongoDB,这样可以尽量减少在代码级别上的修改。

实际上,在这里选择使用的AWS、GCP和Azure没有明确提及,所以我认为在使用免费版时,任何选择实际上都可以。

-
- Shared RAM
-
- 512 MBストレージ
-
- MongoDB 4.2
- バックアップなし
在这种情况下,你可以更改Cluster Name(类似于应用程序名称),但我选择使用默认的Cluster0名称创建了。
请注意:查看AWS、GCP和Azure可用的亚洲地区。我认为,如果从日本使用的话,通常会选择亚洲地区,所以我查看了可用的亚洲地区。
AWSはムンバイとシンガポール
GCPは日本リージョンが使える
Azureは香港
我在Azure上做出了选择,但在日本使用的话,或许选择GCP并选择日本区域会更好呢。
确认连接信息我们将在下一个界面稍等片刻。创建集群需要一些时间。让我们从连接按钮开始创建连接信息吧。
1. 接続セキュリティ情報を作成在连接的IP地址上进行IP地址限制设定。
暂时先选择允许从任何地方访问且没有任何限制。

次にデータベースユーザー名とパスワードを作成します。
当您开始进行设置时,左下角的进度条会逐渐前进,非常易于理解。
2. 确认连接方法然后我们选择连接方式。因为它只是提供了连接示例,所以无论选择哪一个都可以。
-
shellから
-
各アプリケーションから
GUIから
可以选择不同的连接方式。由于本次我们选择在Node.js中进行连接,所以选择Connect your application。
展示示例也是可以的,对于我的情况,显示了类似这样的示例。
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://ユーザー名:<password>@クラスター名.xxxx.mongodb.net/<dbname>?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();
});
在这个时候,”クラスター名.xxxx.mongodb.net”是我当前的托管URL(其中xxxx是隐藏字),如果创建时使用了其他名称,可能会变成”クラスター名.x30i0.mongodb.net”。因此,可能需要考虑更改计划,选择托管在哪个基础架构中或每次创建时都会有所变化。
顺便提一下,它可能成为组织的名称。
尝试从Node.js访问Node.js的版本是v15.5.0。
$ npm init -y
$ npm i mongodb
然后,首先进行准备工作。
抑制警告对应
app.jsなどを作成し、先程のサンプルをそのまま実行すると
$ node app.js
(node:24495) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
といった警告が出ます。
需要添加useUnifiedTopology: true对吗?
参考:当mongoose出现DeprecationWarning时应该怎么处理
我在考虑这一点后,尝试更改连接示例。
const MongoClient = require('mongodb').MongoClient;
const DB_NAME = `xxxxxx`;
const USER_NAME = `xxxxxx`;
const USER_PASSWD = `xxxxxxx`;
const HOST_NAME = `cluster0.xxxx.mongodb.net`; //クラスター名やホスティング先によって変わる
const uri = `mongodb+srv://${USER_NAME}:${USER_PASSWD}@${HOST_NAME}/${DB_NAME}?retryWrites=true&w=majority`;
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true});
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
console.log("Connected successfully to server");
client.close();
});
执行后成功连接。
$ node app.js
Connected successfully to server
添加数据
我会尝试添加数据。我已经重写了之前代码中的client.connect部分。
在test数据库的device集合中添加数据。
//省略
client.connect(err => {
const collection = client.db('test').collection('devices');
// perform actions on the collection object
console.log('Connected successfully to server');
const documents = [
{ a: 1 },
{ a: 2 },
{ a: 3 }
];
collection.insertMany(documents, (err, result) => {
console.log('Inserted 3 documents into the collection');
console.log(result);
client.close();
})
});
参考:尝试使用Node.js连接MongoDB
执行
$ node app.js
Connected successfully to server
Inserted 3 documents into the collection
{
result: { ok: 1, n: 3, opTime: { ts: [Timestamp], t: 2 } },
ops: [
{ a: 1, _id: 5fec8c55d967cf6260da05e1 },
{ a: 2, _id: 5fec8c55d967cf6260da05e2 },
{ a: 3, _id: 5fec8c55d967cf6260da05e3 }
],
insertedCount: 3,
insertedIds: {
'0': 5fec8c55d967cf6260da05e1,
'1': 5fec8c55d967cf6260da05e2,
'2': 5fec8c55d967cf6260da05e3
}
}
数据成功创建,并且我在管理界面上也确认了这一点。
您可以通过管理界面上的COLLECTIONS按钮进行查看。
这些部分的使用方式和通常的MongoDB没有变化。
如果查看MongoDB官方文档或MongoDB的SDK等,应该可以很好地了解数据编辑和删除操作的使用方法。
总结和大纲(涉及到领域之类的话题)可能是因为之前已经有使用过Node.js处理MongoDB的经验,所以能够开始使用而没有特别困难的地方。
在进行原型制作时,暂时使用数据库似乎是合适的选择。
我认为Firebase等选项可能会受到考虑,但因为是为Firebase编写的代码,当需要更改后端时可能会感到非常麻烦。
从前端访问API等方面来看,似乎并没有与Firebase Cloud Firestore等价的替代方案。然而,我们可以通过MongoDB Atlas的管理界面创建Realm DB(mBaaS),并且据说可以使用该服务的前端浏览器SDK(尚未实际尝试)。
请提供一种选择的中文释义:
https://www.npmjs.com/package/mongodb-stitch-browser-sdk
– `https://www.npmjs.com/package/mongodb-stitch-browser-sdk`:获得MongoDB Stitch浏览器SDK的链接
在这一步,可能可以将其用作Firebase Cloud Firestore的替代产品。
王国,最近没有关注,但是我发现MongoDB收购了它。我之前以为这是本地应用程序开发领域的事情,但是考虑到MongoDB的一部分,似乎也适合Web开发者关注。
当使用Mongo DB Atlas进行开发时,可以借鉴Mongo DB的知识,并且如果需要扩展,还可以选择将其替换为正式的MongoDB,这样可以尽量减少在代码级别上的修改。

- GCPは日本リージョンが使える

- Azureは香港

确认连接信息我们将在下一个界面稍等片刻。创建集群需要一些时间。让我们从连接按钮开始创建连接信息吧。
1. 接続セキュリティ情報を作成在连接的IP地址上进行IP地址限制设定。
暂时先选择允许从任何地方访问且没有任何限制。

次にデータベースユーザー名とパスワードを作成します。
当您开始进行设置时,左下角的进度条会逐渐前进,非常易于理解。
2. 确认连接方法然后我们选择连接方式。因为它只是提供了连接示例,所以无论选择哪一个都可以。
-
shellから
-
各アプリケーションから
GUIから
可以选择不同的连接方式。由于本次我们选择在Node.js中进行连接,所以选择Connect your application。
展示示例也是可以的,对于我的情况,显示了类似这样的示例。
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://ユーザー名:<password>@クラスター名.xxxx.mongodb.net/<dbname>?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();
});
在这个时候,”クラスター名.xxxx.mongodb.net”是我当前的托管URL(其中xxxx是隐藏字),如果创建时使用了其他名称,可能会变成”クラスター名.x30i0.mongodb.net”。因此,可能需要考虑更改计划,选择托管在哪个基础架构中或每次创建时都会有所变化。
顺便提一下,它可能成为组织的名称。
尝试从Node.js访问Node.js的版本是v15.5.0。
$ npm init -y
$ npm i mongodb
然后,首先进行准备工作。
抑制警告对应
app.jsなどを作成し、先程のサンプルをそのまま実行すると
$ node app.js
(node:24495) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
といった警告が出ます。
需要添加useUnifiedTopology: true对吗?
参考:当mongoose出现DeprecationWarning时应该怎么处理
我在考虑这一点后,尝试更改连接示例。
const MongoClient = require('mongodb').MongoClient;
const DB_NAME = `xxxxxx`;
const USER_NAME = `xxxxxx`;
const USER_PASSWD = `xxxxxxx`;
const HOST_NAME = `cluster0.xxxx.mongodb.net`; //クラスター名やホスティング先によって変わる
const uri = `mongodb+srv://${USER_NAME}:${USER_PASSWD}@${HOST_NAME}/${DB_NAME}?retryWrites=true&w=majority`;
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true});
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
console.log("Connected successfully to server");
client.close();
});
执行后成功连接。
$ node app.js
Connected successfully to server
添加数据
我会尝试添加数据。我已经重写了之前代码中的client.connect部分。
在test数据库的device集合中添加数据。
//省略
client.connect(err => {
const collection = client.db('test').collection('devices');
// perform actions on the collection object
console.log('Connected successfully to server');
const documents = [
{ a: 1 },
{ a: 2 },
{ a: 3 }
];
collection.insertMany(documents, (err, result) => {
console.log('Inserted 3 documents into the collection');
console.log(result);
client.close();
})
});
参考:尝试使用Node.js连接MongoDB
执行
$ node app.js
Connected successfully to server
Inserted 3 documents into the collection
{
result: { ok: 1, n: 3, opTime: { ts: [Timestamp], t: 2 } },
ops: [
{ a: 1, _id: 5fec8c55d967cf6260da05e1 },
{ a: 2, _id: 5fec8c55d967cf6260da05e2 },
{ a: 3, _id: 5fec8c55d967cf6260da05e3 }
],
insertedCount: 3,
insertedIds: {
'0': 5fec8c55d967cf6260da05e1,
'1': 5fec8c55d967cf6260da05e2,
'2': 5fec8c55d967cf6260da05e3
}
}
数据成功创建,并且我在管理界面上也确认了这一点。
您可以通过管理界面上的COLLECTIONS按钮进行查看。
这些部分的使用方式和通常的MongoDB没有变化。
如果查看MongoDB官方文档或MongoDB的SDK等,应该可以很好地了解数据编辑和删除操作的使用方法。
总结和大纲(涉及到领域之类的话题)可能是因为之前已经有使用过Node.js处理MongoDB的经验,所以能够开始使用而没有特别困难的地方。
在进行原型制作时,暂时使用数据库似乎是合适的选择。
我认为Firebase等选项可能会受到考虑,但因为是为Firebase编写的代码,当需要更改后端时可能会感到非常麻烦。
从前端访问API等方面来看,似乎并没有与Firebase Cloud Firestore等价的替代方案。然而,我们可以通过MongoDB Atlas的管理界面创建Realm DB(mBaaS),并且据说可以使用该服务的前端浏览器SDK(尚未实际尝试)。
请提供一种选择的中文释义:
https://www.npmjs.com/package/mongodb-stitch-browser-sdk
– `https://www.npmjs.com/package/mongodb-stitch-browser-sdk`:获得MongoDB Stitch浏览器SDK的链接
在这一步,可能可以将其用作Firebase Cloud Firestore的替代产品。
王国,最近没有关注,但是我发现MongoDB收购了它。我之前以为这是本地应用程序开发领域的事情,但是考虑到MongoDB的一部分,似乎也适合Web开发者关注。
当使用Mongo DB Atlas进行开发时,可以借鉴Mongo DB的知识,并且如果需要扩展,还可以选择将其替换为正式的MongoDB,这样可以尽量减少在代码级别上的修改。

1. 接続セキュリティ情報を作成在连接的IP地址上进行IP地址限制设定。
暂时先选择允许从任何地方访问且没有任何限制。

次にデータベースユーザー名とパスワードを作成します。
当您开始进行设置时,左下角的进度条会逐渐前进,非常易于理解。
2. 确认连接方法然后我们选择连接方式。因为它只是提供了连接示例,所以无论选择哪一个都可以。
-
shellから
-
各アプリケーションから
GUIから
可以选择不同的连接方式。由于本次我们选择在Node.js中进行连接,所以选择Connect your application。
展示示例也是可以的,对于我的情况,显示了类似这样的示例。
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://ユーザー名:<password>@クラスター名.xxxx.mongodb.net/<dbname>?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();
});
在这个时候,”クラスター名.xxxx.mongodb.net”是我当前的托管URL(其中xxxx是隐藏字),如果创建时使用了其他名称,可能会变成”クラスター名.x30i0.mongodb.net”。因此,可能需要考虑更改计划,选择托管在哪个基础架构中或每次创建时都会有所变化。
顺便提一下,它可能成为组织的名称。
尝试从Node.js访问Node.js的版本是v15.5.0。
$ npm init -y
$ npm i mongodb
然后,首先进行准备工作。
抑制警告对应
app.jsなどを作成し、先程のサンプルをそのまま実行すると
$ node app.js
(node:24495) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
といった警告が出ます。
需要添加useUnifiedTopology: true对吗?
参考:当mongoose出现DeprecationWarning时应该怎么处理
我在考虑这一点后,尝试更改连接示例。
const MongoClient = require('mongodb').MongoClient;
const DB_NAME = `xxxxxx`;
const USER_NAME = `xxxxxx`;
const USER_PASSWD = `xxxxxxx`;
const HOST_NAME = `cluster0.xxxx.mongodb.net`; //クラスター名やホスティング先によって変わる
const uri = `mongodb+srv://${USER_NAME}:${USER_PASSWD}@${HOST_NAME}/${DB_NAME}?retryWrites=true&w=majority`;
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true});
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
console.log("Connected successfully to server");
client.close();
});
执行后成功连接。
$ node app.js
Connected successfully to server
添加数据
我会尝试添加数据。我已经重写了之前代码中的client.connect部分。
在test数据库的device集合中添加数据。
//省略
client.connect(err => {
const collection = client.db('test').collection('devices');
// perform actions on the collection object
console.log('Connected successfully to server');
const documents = [
{ a: 1 },
{ a: 2 },
{ a: 3 }
];
collection.insertMany(documents, (err, result) => {
console.log('Inserted 3 documents into the collection');
console.log(result);
client.close();
})
});
参考:尝试使用Node.js连接MongoDB
执行
$ node app.js
Connected successfully to server
Inserted 3 documents into the collection
{
result: { ok: 1, n: 3, opTime: { ts: [Timestamp], t: 2 } },
ops: [
{ a: 1, _id: 5fec8c55d967cf6260da05e1 },
{ a: 2, _id: 5fec8c55d967cf6260da05e2 },
{ a: 3, _id: 5fec8c55d967cf6260da05e3 }
],
insertedCount: 3,
insertedIds: {
'0': 5fec8c55d967cf6260da05e1,
'1': 5fec8c55d967cf6260da05e2,
'2': 5fec8c55d967cf6260da05e3
}
}
数据成功创建,并且我在管理界面上也确认了这一点。
您可以通过管理界面上的COLLECTIONS按钮进行查看。
这些部分的使用方式和通常的MongoDB没有变化。
如果查看MongoDB官方文档或MongoDB的SDK等,应该可以很好地了解数据编辑和删除操作的使用方法。
总结和大纲(涉及到领域之类的话题)可能是因为之前已经有使用过Node.js处理MongoDB的经验,所以能够开始使用而没有特别困难的地方。
在进行原型制作时,暂时使用数据库似乎是合适的选择。
我认为Firebase等选项可能会受到考虑,但因为是为Firebase编写的代码,当需要更改后端时可能会感到非常麻烦。
从前端访问API等方面来看,似乎并没有与Firebase Cloud Firestore等价的替代方案。然而,我们可以通过MongoDB Atlas的管理界面创建Realm DB(mBaaS),并且据说可以使用该服务的前端浏览器SDK(尚未实际尝试)。
请提供一种选择的中文释义:
https://www.npmjs.com/package/mongodb-stitch-browser-sdk
– `https://www.npmjs.com/package/mongodb-stitch-browser-sdk`:获得MongoDB Stitch浏览器SDK的链接
在这一步,可能可以将其用作Firebase Cloud Firestore的替代产品。
王国,最近没有关注,但是我发现MongoDB收购了它。我之前以为这是本地应用程序开发领域的事情,但是考虑到MongoDB的一部分,似乎也适合Web开发者关注。
当使用Mongo DB Atlas进行开发时,可以借鉴Mongo DB的知识,并且如果需要扩展,还可以选择将其替换为正式的MongoDB,这样可以尽量减少在代码级别上的修改。


次にデータベースユーザー名とパスワードを作成します。


2. 确认连接方法然后我们选择连接方式。因为它只是提供了连接示例,所以无论选择哪一个都可以。
-
shellから
-
各アプリケーションから
GUIから
可以选择不同的连接方式。由于本次我们选择在Node.js中进行连接,所以选择Connect your application。
展示示例也是可以的,对于我的情况,显示了类似这样的示例。
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://ユーザー名:<password>@クラスター名.xxxx.mongodb.net/<dbname>?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();
});
在这个时候,”クラスター名.xxxx.mongodb.net”是我当前的托管URL(其中xxxx是隐藏字),如果创建时使用了其他名称,可能会变成”クラスター名.x30i0.mongodb.net”。因此,可能需要考虑更改计划,选择托管在哪个基础架构中或每次创建时都会有所变化。
顺便提一下,它可能成为组织的名称。
尝试从Node.js访问Node.js的版本是v15.5.0。
$ npm init -y
$ npm i mongodb
然后,首先进行准备工作。
抑制警告对应
app.jsなどを作成し、先程のサンプルをそのまま実行すると
$ node app.js
(node:24495) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
といった警告が出ます。
需要添加useUnifiedTopology: true对吗?
参考:当mongoose出现DeprecationWarning时应该怎么处理
我在考虑这一点后,尝试更改连接示例。
const MongoClient = require('mongodb').MongoClient;
const DB_NAME = `xxxxxx`;
const USER_NAME = `xxxxxx`;
const USER_PASSWD = `xxxxxxx`;
const HOST_NAME = `cluster0.xxxx.mongodb.net`; //クラスター名やホスティング先によって変わる
const uri = `mongodb+srv://${USER_NAME}:${USER_PASSWD}@${HOST_NAME}/${DB_NAME}?retryWrites=true&w=majority`;
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true});
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
console.log("Connected successfully to server");
client.close();
});
执行后成功连接。
$ node app.js
Connected successfully to server
添加数据
我会尝试添加数据。我已经重写了之前代码中的client.connect部分。
在test数据库的device集合中添加数据。
//省略
client.connect(err => {
const collection = client.db('test').collection('devices');
// perform actions on the collection object
console.log('Connected successfully to server');
const documents = [
{ a: 1 },
{ a: 2 },
{ a: 3 }
];
collection.insertMany(documents, (err, result) => {
console.log('Inserted 3 documents into the collection');
console.log(result);
client.close();
})
});
参考:尝试使用Node.js连接MongoDB
执行
$ node app.js
Connected successfully to server
Inserted 3 documents into the collection
{
result: { ok: 1, n: 3, opTime: { ts: [Timestamp], t: 2 } },
ops: [
{ a: 1, _id: 5fec8c55d967cf6260da05e1 },
{ a: 2, _id: 5fec8c55d967cf6260da05e2 },
{ a: 3, _id: 5fec8c55d967cf6260da05e3 }
],
insertedCount: 3,
insertedIds: {
'0': 5fec8c55d967cf6260da05e1,
'1': 5fec8c55d967cf6260da05e2,
'2': 5fec8c55d967cf6260da05e3
}
}
数据成功创建,并且我在管理界面上也确认了这一点。
您可以通过管理界面上的COLLECTIONS按钮进行查看。
这些部分的使用方式和通常的MongoDB没有变化。
如果查看MongoDB官方文档或MongoDB的SDK等,应该可以很好地了解数据编辑和删除操作的使用方法。
总结和大纲(涉及到领域之类的话题)可能是因为之前已经有使用过Node.js处理MongoDB的经验,所以能够开始使用而没有特别困难的地方。
在进行原型制作时,暂时使用数据库似乎是合适的选择。
我认为Firebase等选项可能会受到考虑,但因为是为Firebase编写的代码,当需要更改后端时可能会感到非常麻烦。
从前端访问API等方面来看,似乎并没有与Firebase Cloud Firestore等价的替代方案。然而,我们可以通过MongoDB Atlas的管理界面创建Realm DB(mBaaS),并且据说可以使用该服务的前端浏览器SDK(尚未实际尝试)。
请提供一种选择的中文释义:
https://www.npmjs.com/package/mongodb-stitch-browser-sdk
– `https://www.npmjs.com/package/mongodb-stitch-browser-sdk`:获得MongoDB Stitch浏览器SDK的链接
在这一步,可能可以将其用作Firebase Cloud Firestore的替代产品。
王国,最近没有关注,但是我发现MongoDB收购了它。我之前以为这是本地应用程序开发领域的事情,但是考虑到MongoDB的一部分,似乎也适合Web开发者关注。
当使用Mongo DB Atlas进行开发时,可以借鉴Mongo DB的知识,并且如果需要扩展,还可以选择将其替换为正式的MongoDB,这样可以尽量减少在代码级别上的修改。

-
- shellから
-
- 各アプリケーションから
- GUIから
可以选择不同的连接方式。由于本次我们选择在Node.js中进行连接,所以选择Connect your application。

const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://ユーザー名:<password>@クラスター名.xxxx.mongodb.net/<dbname>?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();
});
在这个时候,”クラスター名.xxxx.mongodb.net”是我当前的托管URL(其中xxxx是隐藏字),如果创建时使用了其他名称,可能会变成”クラスター名.x30i0.mongodb.net”。因此,可能需要考虑更改计划,选择托管在哪个基础架构中或每次创建时都会有所变化。
顺便提一下,它可能成为组织的名称。
尝试从Node.js访问Node.js的版本是v15.5.0。
$ npm init -y
$ npm i mongodb
$ npm init -y
$ npm i mongodb
然后,首先进行准备工作。
抑制警告对应
app.jsなどを作成し、先程のサンプルをそのまま実行すると
$ node app.js
(node:24495) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
$ node app.js
(node:24495) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
といった警告が出ます。
需要添加useUnifiedTopology: true对吗?
参考:当mongoose出现DeprecationWarning时应该怎么处理
我在考虑这一点后,尝试更改连接示例。
const MongoClient = require('mongodb').MongoClient;
const DB_NAME = `xxxxxx`;
const USER_NAME = `xxxxxx`;
const USER_PASSWD = `xxxxxxx`;
const HOST_NAME = `cluster0.xxxx.mongodb.net`; //クラスター名やホスティング先によって変わる
const uri = `mongodb+srv://${USER_NAME}:${USER_PASSWD}@${HOST_NAME}/${DB_NAME}?retryWrites=true&w=majority`;
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true});
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
console.log("Connected successfully to server");
client.close();
});
执行后成功连接。
$ node app.js
Connected successfully to server
添加数据
我会尝试添加数据。我已经重写了之前代码中的client.connect部分。
在test数据库的device集合中添加数据。
//省略
client.connect(err => {
const collection = client.db('test').collection('devices');
// perform actions on the collection object
console.log('Connected successfully to server');
const documents = [
{ a: 1 },
{ a: 2 },
{ a: 3 }
];
collection.insertMany(documents, (err, result) => {
console.log('Inserted 3 documents into the collection');
console.log(result);
client.close();
})
});
参考:尝试使用Node.js连接MongoDB
执行
$ node app.js
Connected successfully to server
Inserted 3 documents into the collection
{
result: { ok: 1, n: 3, opTime: { ts: [Timestamp], t: 2 } },
ops: [
{ a: 1, _id: 5fec8c55d967cf6260da05e1 },
{ a: 2, _id: 5fec8c55d967cf6260da05e2 },
{ a: 3, _id: 5fec8c55d967cf6260da05e3 }
],
insertedCount: 3,
insertedIds: {
'0': 5fec8c55d967cf6260da05e1,
'1': 5fec8c55d967cf6260da05e2,
'2': 5fec8c55d967cf6260da05e3
}
}
数据成功创建,并且我在管理界面上也确认了这一点。
您可以通过管理界面上的COLLECTIONS按钮进行查看。

如果查看MongoDB官方文档或MongoDB的SDK等,应该可以很好地了解数据编辑和删除操作的使用方法。
总结和大纲(涉及到领域之类的话题)可能是因为之前已经有使用过Node.js处理MongoDB的经验,所以能够开始使用而没有特别困难的地方。
在进行原型制作时,暂时使用数据库似乎是合适的选择。
我认为Firebase等选项可能会受到考虑,但因为是为Firebase编写的代码,当需要更改后端时可能会感到非常麻烦。
从前端访问API等方面来看,似乎并没有与Firebase Cloud Firestore等价的替代方案。然而,我们可以通过MongoDB Atlas的管理界面创建Realm DB(mBaaS),并且据说可以使用该服务的前端浏览器SDK(尚未实际尝试)。
请提供一种选择的中文释义:
https://www.npmjs.com/package/mongodb-stitch-browser-sdk
– `https://www.npmjs.com/package/mongodb-stitch-browser-sdk`:获得MongoDB Stitch浏览器SDK的链接
在这一步,可能可以将其用作Firebase Cloud Firestore的替代产品。
王国,最近没有关注,但是我发现MongoDB收购了它。我之前以为这是本地应用程序开发领域的事情,但是考虑到MongoDB的一部分,似乎也适合Web开发者关注。
当使用Mongo DB Atlas进行开发时,可以借鉴Mongo DB的知识,并且如果需要扩展,还可以选择将其替换为正式的MongoDB,这样可以尽量减少在代码级别上的修改。