mongoDB数据库连接

该代码示例展示了如何配置MongoDB的mongod.cfg文件以启用directoryPerDB选项,以及如何通过无认证和用户密码认证方式建立数据库连接。提供了MongoClient的使用方法,包括列出数据库名称、获取数据库对象以及关闭连接。
/*
mongoDB连接模块
建议mongod.cfg配置文件增加directoryPerDB: true,表示每个数据库均保存在独立同名文件夹中

# Where and how to store data.
storage:
  dbPath: D:\Program Files\MongoDB\Server\6.0\data\db
  directoryPerDB: true
  journal:
    enabled: true


不认证直接链接数据库
public MongoClient getConn()
通过用户密码认证链接数据库
public MongoClient getConnByCredit()
使用示例:
        mongoConnection = new MongoDbConnection();
        //新建连接
        mongoClient = mongoConnection.getConn();
        //连接数据库对象,如果不存在,创建
        database = mongoClient.getDatabase(databaseName);
        //处理数据...
        mongoGridFS.readFromGridFS("D:\\temp","GAAA0127.mp4");
        //关闭连接
        mongoClient.close();

ChenLX,2023.5.15
 */
package mongo.gdsky.com.cn;

import com.mongodb.*;
import com.mongodb.MongoClient;
import com.mongodb.client.*;

import java.util.ArrayList;
import java.util.List;

//mongoDB数据库连接
public class MongoDbConnection {
    //不认证直接链接数据库
    public MongoClient getConn(){
        MongoClient mongoClient = new MongoClient("localhost",27017);
        //也可使用MongoClientURI
        // MongoClientURI mongoClientURI = new MongoClientURI("mongodb://localhost:27017");
        // MongoClient mongoClient = new MongoClient(mongoClientURI);
        return mongoClient;

    }

//通过用户密码认证链接数据库

    public MongoClient getConnByCredit(){
        String name = "test";//用户名
        String dbName = "myDB";//数据库名
        char [] pwd = "test".toCharArray();//用户密码(将字符串转换成字符数组)
        List<ServerAddress> addresses = new ArrayList<>();
        //服务器地址:链接地址,端口号
        ServerAddress address = new ServerAddress("localhost",27017);
        addresses.add(address);
        List<MongoCredential> credentials = new ArrayList<>();
        //认证方法需要三个参数,用户名,数据库名,用户密码
        MongoCredential credential = MongoCredential.createScramSha1Credential(name,dbName,pwd);
        credentials.add(credential);
        //创建链接对象
        MongoClient mongoClient = new MongoClient(addresses,credentials);
        return mongoClient;
    }


    //测试是否连接成功

    public static void main(String[] args) {

        MongoDbConnection mongoDbConnection = new MongoDbConnection();
        MongoDatabase mongoDatabase = null;
        MongoClient mongoClient = mongoDbConnection.getConn();
        //MongoClient mongoClient = mongoDBConnection.getConnByCredit();
        // 查询所有数据库名称
        MongoIterable<String> dbNameList = mongoClient.listDatabaseNames();
        System.out.println("查询所有数据库名称:");
        for(String dbName : dbNameList)
            System.out.println(dbName);
        //创建数据库对象
        mongoDatabase = mongoClient.getDatabase("myDB");
        //查询Test数据库中所有集合名称
        MongoIterable<String> colNameList = mongoDatabase.listCollectionNames();
        System.out.println("查询myDB数据库中所有集合名称:");
        for(String colName: colNameList)
            System.out.println(colName);
        //关闭连接
        mongoClient.close();

    }

}
### MongoDB 数据库连接客户端工具推荐 对于希望高效管理和操作MongoDB数据库的用户来说,选择合适的连接工具至关重要。以下是几种常用的MongoDB连接工具: #### 1. **mongosh** `mongosh` 是官方提供的命令行Shell工具,允许开发者通过终端直接与MongoDB实例交互。它支持多种高级功能,如自动补全、历史记录保存以及插件扩展能力[^2]。 #### 2. **MongoDB Compass** 作为图形化界面的应用程序,MongoDB Compass提供了直观的操作体验,使用户能够轻松执行查询构建、性能分析等任务。该软件不仅适用于初学者快速上手,也满足了专业人士的需求。 #### 3. **Studio 3T (formerly 3T MongoChef)** 被誉为MongoDB的最佳集成开发环境(IDE),Studio 3T以其强大的特性和易用性著称于NoSQL社区。除了基本的数据浏览和编辑外,还具备诸如聚合管道调试器、JSON视图等功能,极大地提高了工作效率[^3]。 #### 4. **MongoDB Atlas** 由MongoDB公司推出的托管云服务——MongoDB Atlas内置了一个Web UI来管理集群资源并运行各种维护作业。这使得远程访问变得更加便捷安全的同时减少了运维成本和技术门槛。 #### 5. **NoSQL Booster for MongoDB** 这款轻量级但功能丰富的GUI应用程序专为Windows平台设计,提供了一套完整的解决方案来进行日常数据库管理工作。其特色在于拥有简洁明了的布局结构加上高效的脚本编写辅助特性。 ```javascript // 连接示例代码片段(需替换实际参数) const { MongoClient } = require('mongodb'); async function main() { const uri = "mongodb://username:password@localhost:27017/mydatabase"; const client = new MongoClient(uri); try { await client.connect(); console.log("成功连接至服务器"); // 执行具体操作... } finally { await client.close(); } } main().catch(console.error); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值