免费使用mongodb数据库

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: mongodb的云数据库,新用户注册,提供500m免费的空间,对于创建测试的网站数据库来说,足够使用。虽然是服务器是在美国,但是链接稳定。下面就介绍注册和使用的流程。

mongodb的云数据库,新用户注册,提供500m免费的空间,对于创建测试的网站数据库来说,足够使用。虽然是服务器是在美国,但是链接稳定。下面就介绍注册和使用的流程。

网址

MongoDB官网:https://account.mongodb.com

Mongodb概念解析

不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档、集合、数据库,下面我们挨个介绍。

下表将帮助您更容易理解Mongo中的一些概念:

基础概念学习地址:https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins 表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

通过下图实例,我们也可以更直观的了解Mongo中的一些概念:

img

云数据库操作步骤

创建组织

首先,创建一个组织,名字你可以随便写,只要符合规范即可,命名完成后点击 Next 下一步

image-20211208171555994

在这里,你可以添加其他的同事进入这个组织(这里就我一个人开发,就不邀请其他人了),后点击 Create Organization 创建组织

image-20211208171823314

创建项目

完成创建后,我们进去 Organization的组织 页面,在这里我们可以创建一个 project 项目

image-20211208172036852

创建数据库

项目创建完成后,我们需要 Create a database创建数据库

image-20211208172250036

image-20211208172337099

然后可以根据自己所在的地域,选择距离自己较近的节点,因为我当前所在的地域是北京,所以我在这里就选择东京了。然后 Create Cluster创建集群

image-20211208172525043

创建连接账户

紧接着,我们在安全与快速入门这里,需要创建账号和密码,以及ip白名单。

连接账户的创建,有两种方式,一种是用户名和密码,一种是证书。在这里我们选择一种比较简单的连接方式,就是用户名和密码了。

image-20211208173049240

在环境配置这里,有两种方式,一种是本地环境,一种是云环境。在这里我们选择第一种本地环境,并且开放所有的ip进入白名单。

image-20211208173400381了这里,我们就创建成功了

创建成功

如果看到这个界面,则表示,你已经创建成功了。

image-20211208173948382

测试操作

点击上图中的 Cluster0进入集群0的节点,然后点击 Collections集合,再点击 Add My Own Data 创建数据库和集合。

image-20211208183310875

创建成功后,可以在里面插入数据测试

测试连接mongodb

点击 Connect连接会出现以下界面,界面提供了三种连接mongodb的方式

image-20211208174530814

Connect with the MongoDB Shell

表示用shell脚本连接mongodb

Connect your application

表示使用你的应用代码连接,在项目开发中,无论你使用的是 java、php、go、nodejs 都需要选择这种方式连接mongodb

Connect using MongoDB Compass

表示用客户端工具连接momgodb,你可以用mongodb官网提供的客户端工具,也可以使用 Navicat 连接

Navicat连接

选择 Connect using MongoDB Compass则会提示相对的连接信息,然后复制连接信息,注意这里的 <passwor>需要改成你设定的密码

image-20211208180250418

Navicat 中连接方式选择 Mongodb 连接,然后选择 url 连接

image-20211208180551317

应用后,进行连接测试,查看是否连接成功

image-20211208180746569

代码连接

image-20211209121842356

基于Go语言测试

代码下载:https://github.com/mailjobblog/dev_go/tree/master/211209-mongodb-connect

package main

import (
    "context"
    "fmt"
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
    "log"
    "time"
)

func main() {
   
   
    // 连接 mongodb
  // 注意:这里的账号和密码要改成你自己的
    clientOptions := options.Client().ApplyURI("mongodb+srv://test_user:test_pwd@cluster0.sy0un.mongodb.net/myFirstDatabase?retryWrites=true&w=majority")
    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
    defer cancel()
    client, err := mongo.Connect(ctx, clientOptions)
    if err != nil {
   
   
        log.Fatal("mongodb 连接失败,error:", err)
    }

    // 定义连接库和连接集合
    collection := client.Database("t_db").Collection("t_coll")

    // 定义要插入的数据
    user := UserData{
   
   
        Name:       "张三",
        Age:        20,
    }

    // 测试插入数据
    insert,err := collection.InsertOne(ctx, &user)
    if err != nil {
   
   
        log.Fatal("mongodb 数据插入失败,error:", err)
    }

    // 打印执行结果的id
    fmt.Println(insert)
}

// UserData 定义插入数据的结构体
type UserData struct {
   
   
    // Id         string `bson:"_id,omitempty" json:"id"` // 这里不设置id,让数据库自动生成
    Name       string `bson:"name" json:"name"`
    Age        int    `bson:"age" json:"age"`
}

基于Node.js语言测试

代码下载:https://github.com/mailjobblog/dev_nodejs/tree/master/211209-mongodb-connect

const {
   
    MongoClient } = require('mongodb');

// 定义数据库连接地址
// 这里:这里的用户名和密码要改成你自己的
const uri = "mongodb+srv://test_user:test_pwd@cluster0.sy0un.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";

// 定义异步方法
const testMongo = async () => {
   
   
    // connect to your cluster
    const client = await MongoClient.connect(uri, {
   
   
        useNewUrlParser: true,
        useUnifiedTopology: true,
    });
    // specify the DB's name
    const db = client.db('t_db');
    // 数据插入测试
    const items = await db.collection('t_coll').insertOne({
   
    name: "test_names" });
    console.log(items);
    // close connection
    client.close();
}

// 调用异步方法
testMongo();
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
8天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
9天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
11天前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
9 1
|
17天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
16天前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
22 0
|
17天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
17天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
JSON NoSQL Java
mongoDB导出数据库所有集合内容到json文件
网上搜了一圈,官方并有提供批量导出所有集合到json文件的方法。有不少脚本可以实现,但是我还是习惯用java,如下 package starcLL.
2213 0
|
2月前
|
存储 NoSQL 关系型数据库
非关系型数据库-MongoDB技术(二)
非关系型数据库-MongoDB技术(二)
|
2月前
|
NoSQL 关系型数据库 MongoDB
非关系型数据库-MongoDB技术(一)
非关系型数据库-MongoDB技术(一)