mongodb是什么类型的数据库

mongodb是什么类型的数据库,第1张

MongoDB是一个基于分布式文件存储的数据。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB

是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

使用 概括几个常用的:

详解:

2 验证安装结果 rpm -qa |grep mongodb 复制代码 rpm -ql mongodb-org-server 复制代码

启动MongoDB服务

MongoDB默认端口是27017,查看是否开启

检查数据库是否安装成功

4 验证服务开启 mongo 复制代码

修改绑定ip默认127001只允许本地连接, 所以修改为bindIp:0000, 退出保存

方法一

方法二

默认连接

连接到自定义的用户

规则

说明

root

只在admin数据库中可用。超级账号,超级权限

Read

允许用户读取指定数据库

readWrite

允许用户读写指定数据库

dbAdmin

允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问systemprofile

userAdmin

允许用户向systemusers集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin

只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限

readAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限

MongoDB和MySQL分别是领先的开源NoSQL和关系数据库。哪个最适合您的应用程序?

在1990年代的互联网泡沫时期,用于Web应用程序的一种通用软件堆栈是LAMP,它最初代表Linux(OS),Apache(Web服务器),MySQL(关系数据库)和PHP(服务器编程语言)。MySQL是首选的数据库,主要是因为它是免费的开源代码,并且具有良好的读取性能,非常适合从数据库动态生成网站的“ Web 20”应用程序。

之后,代表MongoDB(文档数据库),Express(Web服务器),AngularJS(前端框架)和Nodejs(后端JavaScript运行时)的MEAN堆栈开始流行。除其他原因外,MEAN堆栈很有吸引力,因为您需要了解的唯一语言是JavaScript。与等效的LAMP堆栈相比,它还需要更少的RAM。

MySQL AB的Monty Widenius和David Axmark最初于1994年开始开发MySQL。产品名称中的“ My”是指Widenius的女儿,而不是英语单词“ my”。MySQL旨在与mSQL(又名Mini)兼容。 SQL),并添加了SQL查询层和开放源代码许可(实际上是专有和GPL双重许可)。MySQL的公共发行版于1996年底开始,并且每年或每两年持续发行一次。MySQL是当前最受欢迎的关系数据库。

Sun Microsystems于2008年以10亿美元的价格收购了MySQL AB,Oracle于2010年收购了Sun。在Oracle收购MySQL的广泛关注中,Widenius在收购Oracle之前就将MySQL 55合并到了MariaDB中。MariaDB努力维护与Oracle MySQL版本的兼容性。

与功能更强大的商业关系数据库(例如Oracle数据库,IBM DB / 2和Microsoft SQL Server)相比,MySQL最初是一个相当低端的关系数据库,尽管它足以成为动态网站的后备存储。多年来,它增加了您希望从关系数据库获得的大多数功能,包括事务,参照完整性约束,存储过程,游标,全文索引和搜索,地理索引和搜索以及群集。

尽管MySQL现在支持“大数据库”功能,例如主从部署,与Memcached一起使用以及水平分片,但它仍通常用于中小型部署。将MySQL扩展到多个从属服务器可以提高读取性能,但是只有主服务器才能接受写请求。

AWS提供了两种形式的MySQL即服务,即Amazon RDS和Amazon Aurora。后者具有更高的性能,可以处理TB级的数据,更新副本的延迟时间更短,并且可以直接与Oracle数据库和SQL Server竞争。

MongoDB是高度可伸缩的 *** 作文档数据库,可在开源版本和商业企业版本中使用,它可以在本地运行或作为托管云服务运行。托管云服务称为MongoDB Atlas。

MongoDB无疑是NoSQL数据库中最受欢迎的数据库。它的文档数据模型为开发人员提供了极大的灵活性,而其分布式体系结构则提供了很好的可伸缩性。因此,通常选择MongoDB用于必须管理大量数据,得益于水平可伸缩性并处理不适合关系模型的数据结构的应用程序。

MongoDB是一个基于文档的存储,在其之上还具有一个基于图形的存储。MongoDB实际上并不存储JSON:它存储BSON(二进制JSON),该扩展了JSON表示(字符串)以包括其他类型,例如int,long,date,浮点,decimal128和地理空间坐标。

MongoDB可以使用数据的类型生成正确的索引类型,从而在数据的单个副本上生成多模式图形,地理空间,B树和全文本索引。MongoDB使您可以在任何文档字段上创建索引。MongoDB 4具有多文档事务,这意味着即使必须标准化数据设计,您仍然可以获得ACID属性。

默认情况下,MongoDB使用动态模式,有时称为无模式。单个集合中的文档不需要具有相同的字段集,并且字段的数据类型可以在集合中的不同文档之间有所不同。您可以随时使用动态模式更改文档结构。

但是,可以使用架构治理。从MongoDB 36开始,MongoDB支持JSON模式验证,您可以在验证器表达式中将其打开。

在LAMP和MEAN堆栈上存在很多变化。例如,您可以在Windows(WAMP)或MacOS(MAMP)上运行而不是Linux OS。您可以运行IIS(WIMP),而不是Windows上的Apache Web服务器。

您可以运行PostgreSQL或SQL Server,而不是LAMP堆栈中的MySQL关系数据库。如果您需要全球分布,则可以运行CockroachDB或Google Cloud Spanner。可以使用Perl或Python代替PHP语言。如果要使用Java或C#进行编码,则需要考虑单独的堆栈系列。

您可以运行Couchbase或Azure Cosmos DB以获得更好的全局分布,而不是MEAN堆栈中的MongoDB文档数据库。可以使用十二个Nodejs Web服务器框架中的任何一个来代替Express 。除了AngularJS前端框架,您还可以运行Angular 2或React。

选择数据库时要问的最重要的问题是:

这些问题中的几个会趋于缩小数据库的选择范围,但是与制定LAMP堆栈时相比,我们有更多选择。如果您要构建一个应用程序,并且该应用程序必须在99999%的时间内对全世界的用户都具有高度的一致性,那么只有少数几个数据库适合您。如果您的应用程序将在工作日的上午9点至下午6点在一个国家/地区使用,并且可以容忍最终的一致性,那么几乎所有数据库都可以使用,尽管某些数据库对于开发人员和 *** 作员而言更容易,而某些数据库则可以为您的主要使用场景提供更好的性能。

虽然LAMP和MEAN堆栈一次是Web应用程序的良好解决方案,但现在都不是最佳选择。而不是盲目采用任何一种,您应该仔细考虑用例,并找到一种可在可预见的将来为您的应用程序服务的体系结构。

您什么时候需要关系数据库(例如MySQL)用于新应用程序?除了对标准SQL的明显支持外,关系数据库本身将数据强制为具有一致的强类型字段的表格模式,并且只要您利用规范化就可以帮助您避免数据重复。

另一方面,如果您还需要偶尔的自由格式文档,则MySQL和许多其他关系数据库也支持RFC 7159定义的JSON数据。如果您还想使用XML文档和XPath或XSLT,则大多数关系数据库都可以提供这种能力。

您何时需要像MongoDB这样的文档数据库?如果您的主要用例需要允许使用自由格式的数据,在文档之间更改类型的字段,随时间变化的架构或嵌套的文档,则NoSQL数据库将满足要求。另外,如果您的应用程序是用JavaScript编写的,那么文档数据库的JSON格式将很自然。

作者: Martin Heller是InfoWorld的特约编辑和审稿人。他曾担任Web和Windows编程顾问,从1986年至2010年开发数据库,​​软件和网站。最近,他担任Alpha Software技术和教育副总裁以及Tubifi董事长兼首席执行官。

怎么连接mongo数据库

1在这里使用的是MongoVUE进行连接,安装完成mongo客户端后,点击mongo的图标,启动运行程序

2打开面板后在界面的左上角有一个可点击的菜单connect连接按钮,这里相信不用我说读者就知道。

3点击后,显示出配置的连接数据库会话名。

4读者需要选择一个数据库的连接,然后点击下方的Connect连接

5如果读者没有配置连接需要点击下图红色方框选中的“”号,点击进行创建一个连接。

6下面就是配置数据库的连接信息,IP、端口、口令等

7连接进入后可以看到对应的数据库中所有的表,将鼠标移至需要的表格,然后鼠标右键,选择view(视图)

8打开后选择第二个视图--TableView,表格视图,就可以看到数据库表中的数据和字段名称。

Ubuntu 2004默认存储库中不提供最新版本的MongoDB,因此需要在系统中添加官方的MongoDB存储库。

sudo apt-get install gnupg

导入包管理系统使用的公钥:

wget -qO - >

区别:

     1 mongod 和 mongo 的区别

前者是启用MongoDB进程,后者是对MongoDB进行连接 *** 作

2 执行 mongod 需要 配置路径 进行启用,单纯的双击 mongodexe文件会闪出,正确的是执行mongod --dbpath 命令

3 在执行mongod命令启用MongoDB进程(服务器)的基础上,再使用mongo 对其进行连接 *** 作,

概念:

1什么是”mongod“

mongod是处理MongoDB系统的主要进程。它处理数据请求,管理数据存储,和执行后台管理 *** 作。当我们运行mongod命令意味着正在启动MongoDB进程,并且在后台运行。

2"mongod"参数有什么

传递数据库存储路径,默认是"/data/db"

端口号 默认是 "27017"

3什么是"mongo"

它是一个命令行工具用于连接一个特定的mongod实例。当我们没有带参数运行mongo命令它将使用默认的端口号和localhost连接

一、MongoDB数据库参数配置

1、推荐使用mongodbcfgproperties配置,则在构造MongoDBService对象的时候只需调用无参构造方法即可自动完成配置。

2、如果没有通过mongodbcfgproperties,会采用程序指定的默认配置。

// 定义默认配置,1、IP地址 2、端口号 3、用户名 4、密码 5、配置文件位置名 6、数据库名    private static final String MONGODB_ADDRESS = "127001";    private static final int MONGODB_PORT = 27017;    private static final String MONGODB_USERNAME = "root";    private static final String MONGODB_PASSWORD = "";    private static final String MONGODB_RESOURCE_FILE = "mongodbcfgproperties";    private static final String MONGODB_DBNAME = "test";    private static final String MONGODB_COLLECTIONNAME = "test";

3、通过有参构造方法构造MongoDBService对象或通过get/set方法,指定数据库及集合,优先级最高。

//有参构造方法,指定数据库名与集合名    public MongoDBServiceImpl(String dbName, String collName) {        thisdbName = dbName;        thiscollName = collName;        try {            db = getDb();        } catch (Throwable e) {            eprintStackTrace();        }    }    //无参构造方法,返回配置文件配置的数据库对象引用,如果配置文件中没有设置则返回默认数据库对象引用    public MongoDBServiceImpl() {        getDb();    }    /      获取数据库对象,3种情况(优先级从高到低):<span style="white-space: pre"> </span> 1、构造方法指定2、配置文件指定3、默认数据库<span style="white-space: pre"> </span> (情况2、3在MongoDButil中设置)     /    public DB getDb() {        if (thisdb == null) {            if (thisdbName == null) {                thisdb = MongoDBUtilgetDB();            } else {                thisdb = MongoDBUtilgetDBByName(thisdbName);            }        }        return thisdb;    }         /      获取集合对象,3种情况(优先级从高到低):         1、构造方法指定2、配置文件指定3、默认数据库     (情况2、3在MongoDButil中设置)     /    public DBCollection getCollection() {        if(thiscollName != null){            return dbgetCollection(thiscollName);        }        else {            return MongoDBUtilgetDBCollection();        }    }

二、方法简介(具体实现参看MongoDBServiceImpl接口实现类)

1、获取基本信息或对象:

(1)、获取数据库名: getDbName()

(2)、设置数据库名(指定数据库): setDbName(String dbName)

(3)、获取集合名: getCollName()

(4)、设置集合名(指定集合): setCollName(String collName)

(5)、获取数据库对象: getDb()

2、数据插入方式:

(1)、插入单条数据: insert(DBObject obj)

(2)、插入多条数据: insertBatch(List list)void

3、数据删除方式:

(1)、删除单条数据: delete(DBObject obj)

(2)、删除多条数据: deleteBatch(List list)

4、数量统计方式:

(1)、获取集合中数据数量: getCollectionCount()

(2)、获取符合条件的数据数量: getCount(DBObject obj)

5、查找数据:

(1)、查找所有数据: findAll()

(2)、查找符合条件的数据: find(DBObject obj)

(3)、查找符合条件的数据并排序: find(DBObject query, DBObject sort)

(4)、查找符合条件的指定数量的数据并排序:find(DBObject query, DBObject sort, int start, int limit)

(5)、由ID查找数据: getById(String id)

6、更新数据 :update(DBObject setFields, DBObject whereFields) void

7、打印List: printListDBObj(List list)

测试代码:(@Test)

public class testMongoService {    //使用mongodbcfgproperties中配置的数据库与集合,如未指定,使用MongoDBUtil中默认的数据库与集合    MongoDBService mongoDBService1 = new MongoDBServiceImpl();         //测试插入数据    @Test    public void testInsert(){        //数据一,包括用户名、密码,地址信息(省份、城市),爱好[…]        BasicDBList dbList1 = new BasicDBList();        dbList1add("basketball");        dbList1add("music");        dbList1add("web");        DBObject dbObject1 = new BasicDBObject("username","insert1")            append("age", 18)            append("address", new BasicDBObject("province","广东")append("city", "广州"))            append("favourite", dbList1);        //数据二        BasicDBList dbList2 = new BasicDBList();        dbList2add("football");        dbList2add("music");        DBObject dbObject2 = new BasicDBObject("username","insert2")            append("age", 18)            append("address", new BasicDBObject("province","陕西")append("city", "西安"))            append("favourite", dbList2);        //数据三        BasicDBList dbList3 = new BasicDBList();        dbList3add("Linux");        DBObject dbObject3 = new BasicDBObject("username","insert3")            append("age", 18)            append("address", new BasicDBObject("province","河北")append("city", "保定"))            append("favourite", dbList3);        //数据四        BasicDBList dbList4 = new BasicDBList();        dbList4add("swim");        dbList4add("android");        DBObject dbObject4 = new BasicDBObject("username","insert4")            append("age", 18)            append("address", new BasicDBObject("province","四川")append("city", "成都"))            append("favourite", dbList4);        //数据五        DBObject dbObject5 = new BasicDBObject("username", "insert5")            append("age", 28)            append("address", new BasicDBObject("city", "杭州"));        mongoDBService1printListDBObj(mongoDBService1findAll());        Systemoutprintln("——————————————————insert collection——————————————————");        List<dbobject> list = new ArrayList<dbobject>();        listadd(dbObject1);        listadd(dbObject2);        listadd(dbObject3);        listadd(dbObject5);        mongoDBService1insertBatch(list);        Systemoutprintln("——————————————————insert one——————————————————");        mongoDBService1insert(dbObject4);        mongoDBService1printListDBObj(mongoDBService1findAll());    }         //测试查询数据    @Test    public void testFind(){        DBObject dbObject = new BasicDBObject("username","insert1");        Systemoutprintln("数量:" + mongoDBService1getCollectionCount());        Systemoutprintln("username=java的数据数量:" + mongoDBService1getCount(dbObject));        Systemoutprintln("——————————————————find all——————————————————");        mongoDBService1printListDBObj(mongoDBService1findAll());        Systemoutprintln("——————————————————find obj——————————————————");        mongoDBService1printListDBObj(mongoDBService1find(dbObject));        Systemoutprintln("——————————————————find sort——————————————————");        mongoDBService1printListDBObj(mongoDBService1find(new BasicDBObject(), new BasicDBObject("age", 1)));        Systemoutprintln("——————————————————find sort limit——————————————————");        mongoDBService1printListDBObj(mongoDBService1find(new BasicDBObject(), new BasicDBObject("age", 1), 1, 2));    }     //测试数据更新    @Test    public void testUpdate(){        BasicDBObject newDocument = new BasicDBObject("$set",new BasicDBObject("age",11));                         BasicDBObject searchQuery = new BasicDBObject()append("username", "insert2");             mongoDBService1printListDBObj(mongoDBService1find(searchQuery));        Systemoutprintln("——————————————————update——————————————————");        mongoDBService1update(newDocument, searchQuery);        mongoDBService1printListDBObj(mongoDBService1find(searchQuery));    }         //测试数据删除    @Test    public void testDelete(){        DBObject dbObject1 = new BasicDBObject("username", "insert1");        DBObject dbObject2 = new BasicDBObject("username", "insert2");        DBObject dbObject3 = new BasicDBObject("username", "insert3");        DBObject dbObject4 = new BasicDBObject("username", "insert4");        DBObject dbObject5 = new BasicDBObject("username", "insert5");        List<dbobject> list = new ArrayList<dbobject>();        listadd(dbObject1);        listadd(dbObject2);        listadd(dbObject3);        listadd(dbObject4);        mongoDBService1printListDBObj(mongoDBService1findAll());        Systemoutprintln("——————————————————delete list——————————————————");        mongoDBService1deleteBatch(list);        Systemoutprintln("——————————————————delete one——————————————————");        mongoDBService1delete(dbObject5);        //Systemoutprintln("——————————————————delete all——————————————————");        //mongoDBService1delete(new BasicDBObject());        mongoDBService1printListDBObj(mongoDBService1findAll());    }}</dbobject></dbobject></dbobject></dbobject>

测试结果:

源代码:(完整项目文件下载链接:点击打开链接)

MongoDBServiceImpljava

public class MongoDBServiceImpl implements MongoDBService {    private String dbName;    private String collName;    private DB db;         //有参构造方法,指定数据库名与集合名    public MongoDBServiceImpl(String dbName, String collName) {        thisdbName = dbName;        thiscollName = collName;        try {            db = getDb();        } catch (Throwable e) {            eprintStackTrace();        }    }    //无参构造方法,返回配置文件配置的数据库对象引用,如果配置文件中没有设置则返回默认数据库对象引用    public MongoDBServiceImpl() {        getDb();    }    /      获取数据库对象,3种情况(优先级从高到低):     1、构造方法指定2、配置文件指定3、默认数据库     (情况2、3在MongoDButil中设置)     /    public DB getDb() {        if (thisdb == null) {            if (thisdbName == null) {                thisdb = MongoDBUtilgetDB();            } else {                thisdb = MongoDBUtilgetDBByName(thisdbName);            }        }        return thisdb;    }         /      获取集合对象,3种情况(优先级从高到低):     1、构造方法指定2、配置文件指定3、默认数据库     (情况2、3在MongoDButil中设置)     /    public DBCollection getCollection() {        if(thiscollName != null){            return dbgetCollection(thiscollName);        }        else {            return MongoDBUtilgetDBCollection();        }    }     public DBObject map2Obj(Map<string, object=""> map) {        DBObject obj = new BasicDBObject();        if (mapcontainsKey("class") && mapget("class") instanceof Class)            mapremove("class");        objputAll(map);        return obj;    }    //插入数据    public void insert(DBObject obj) {        getCollection()insert(obj);    }    //插入多条数据    public void insertBatch(List<dbobject> list) {        if (list == null || listisEmpty()) {            return;        }        List<dbobject> listDB = new ArrayList<dbobject>();        for (int i = 0; i < listsize(); i++) {            listDBadd(listget(i));        }        getCollection()insert(listDB);    }    //删除数据    public void delete(DBObject obj) {        getCollection()remove(obj);    }    //删除多条数据    public void deleteBatch(List<dbobject> list) {        if (list == null || listisEmpty()) {            return;        }        for (int i = 0; i < listsize(); i++) {            getCollection()remove(listget(i));        }    }    //获取集合中的数据数量    public long getCollectionCount() {        return getCollection()getCount();    }    //查找符合条件的数据数量    public long getCount(DBObject obj) {        if (obj != null)            return getCollection()getCount(obj);        return getCollectionCount();    }    //查找符合条件的数据    public List<dbobject> find(DBObject obj) {        DBCursor cur = getCollection()find(obj);        return DBCursor2list(cur);    }         //查找符合条件的数据并排序    @Override    public List<dbobject> find(DBObject query, DBObject sort) {        DBCursor cur;        if (query != null) {            cur = getCollection()find(query);        } else {            cur = getCollection()find();        }        if (sort != null) {            cursort(sort);        }        return DBCursor2list(cur);    }     //查找符合条件的数据并排序,规定数据个数    @Override    public List<dbobject> find(DBObject query, DBObject sort, int start,            int limit) {        DBCursor cur;        if (query != null) {            cur = getCollection()find(query);        } else {            cur = getCollection()find();        }        if (sort != null) {            cursort(sort);        }        if (start == 0) {            curbatchSize(limit);        } else {            curskip(start)limit(limit);        }        return DBCursor2list(cur);    }         //将DBCursor转化为list<dbobject>    private List<dbobject> DBCursor2list(DBCursor cur) {        List<dbobject> list = new ArrayList<dbobject>();        if (cur != null) {            list = curtoArray();        }        return list;    }     //更新数据    public void update(DBObject setFields, DBObject whereFields) {        getCollection()updateMulti(whereFields, setFields);    }    //查询集合中所有数据    public List<dbobject> findAll() {        DBCursor cur = getCollection()find();        List<dbobject> list = new ArrayList<dbobject>();        if (cur != null) {            list = curtoArray();        }        return list;    }     //由ID获取数据    public DBObject getById(String id) {        DBObject obj = new BasicDBObject();        objput("_id", new ObjectId(id));        DBObject result = getCollection()findOne(obj);        return result;    }     public String getDbName() {        return dbName;    }     public void setDbName(String dbName) {        thisdbName = dbName;        thisdb = MongoDBUtilgetDBByName(thisdbName);    }     public String getCollName() {        return collName;    }     public void setCollName(String collName) {        thiscollName = collName;    }    @Override    public void printListDBObj(List<dbobject> list) {        // TODO Auto-generated method stub        for(DBObject dbObject: list){            Systemoutprintln(dbObject);        }    }       }</dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></dbobject></string,>

MongoDBUtiljava

public class MongoDBUtil {    // 定义默认配置,1、IP地址 2、端口号 3、用户名 4、密码 5、配置文件位置名 6、数据库名    private static final String MONGODB_ADDRESS = "127001";    private static final int MONGODB_PORT = 27017;    private static final String MONGODB_USERNAME = "root";    private static final String MONGODB_PASSWORD = "";    private static final String MONGODB_RESOURCE_FILE = "mongodbcfgproperties";    private static final String MONGODB_DBNAME = "test";    private static final String MONGODB_COLLECTIONNAME = "test";    // 定义静态变量,1、Mongo对象(代表数据库连接)2、DB对象(代表数据库)3、集合名4、数据库相关配置映射集合5、已获取的数据库连接    private static Mongo mongo;    private static DB db;    private static DBCollection collection;    private static Map<string, string=""> cfgMap = new HashMap<string, string="">();    private static Hashtable<string, db=""> mongoDBs = new Hashtable<string, db="">();     /      初始化Mongo的数据库     /    static {        init();    }     /      获取配置文件中配置的DB对象     /    public static DB getDB() {        return db;    }     /      获取配置文件中配置的DBCollection对象     /    public static DBCollection getDBCollection() {        return collection;    }     /      根据数据库名称,得到数据库 如果不存在,则创建一个该名称的数据库,并设置用户名和密码为配置文件中的参数值           @param dbName      @return DB     /    @SuppressWarnings("deprecation")    public static DB getDBByName(String dbName) {        DB db = mongogetDB(dbName);        if (!mongoDBscontains(db)) {            Systemoutprintln("add");            dbaddUser(cfgMapget("mongodbusername"),                    cfgMapget("mongodbpassword")toCharArray());            mongoDBsput(dbName, db);        }        return db;    }     // ————————————————————————————————————初始化过程————————————————————————————————————    /      获取配置文件mongedbcfgproperties的文件对象     /    public static File getConfigFile() {        String path = MongoDBUtilclassgetResource("/")getPath();        String fileName = path + MONGODB_RESOURCE_FILE;        Systemoutprintln(fileName);        File file = new File(fileName);        if (fileexists()) {            return file;        }        return null;    }     /      通过mongedbcfgproperties配置文件初始化配置映射集合,如果没有编写配置文件,则加载程序指定的默认配置     /    @SuppressWarnings("unchecked")    private static void initCfgMap() {        File file = getConfigFile();        if (file != null) {            Properties p = new Properties();            try {                pload(new FileInputStream(file));                for (Enumeration enu = ppropertyNames(); enuhasMoreElements();) {                    String key = (String) enunextElement();                    String value = (String) pgetProperty(key);                    cfgMapput(key, value);                }            } catch (IOException e) {                Systemoutprintln("加载Mongo配置文件失败!");                eprintStackTrace();            }        } else { // 如果没有编写配置文件,则加载默认配置            cfgMapput("mongodbaddress", MONGODB_ADDRESS);            cfgMapput("mongodbport", StringvalueOf(MONGODB_PORT));            cfgMapput("mongodbusername", MONGODB_USERNAME);            cfgMapput("mongodbpassword", MONGODB_PASSWORD);            cfgMapput("mongodbdbname", MONGODB_DBNAME);            cfgMapput("mongodbcollectionname", MONGODB_COLLECTIONNAME);        }    }     /      初始化Mongo的数据库(将db指向相应对象引用,将collection指向相应对象引用,通过mongoDBs记录现有数据库对象)     /    @SuppressWarnings("deprecation")    private static void init() {        initCfgMap();        try {            String address = cfgMapget("mongodbaddress");            int port = IntegerparseInt(cfgMapget("mongodbport")toString());            String dbName = cfgMapget("mongodbdbname");            String username = cfgMapget("mongodbusername");            String password = cfgMapget("mongodbpassword");            String collectionName = cfgMapget("mongodbcollectionname");            mongo = new Mongo(address, port);            if (dbName != null && !""equals(dbName)) {                db = mongogetDB(dbName);                if (username != null && !""equals(username)) {                    dbaddUser(username, passwordtoCharArray());                    if (collectionName != null && !""equals(collectionName)) {                        collection = dbgetCollection(collectionName);                    }                }                mongoDBsput(dbName, db);            }        } catch (Exception e) {            eprintStackTrace();        }    } }

MongoDB是一个面向文档的数据库,属于NoSQL数据库,它使用类似JSON的文档和schemata。

MongoDB的默认接口是(CLI)命令行,新用户很难像专业人员那样处理数据库。因此,有一些MongoDB管理工具来提供GUI界面以提高生产力。就像phpmyadmin为MySQL/MariaDB数据库提供基于>

以上就是关于mongodb是什么类型的数据库全部的内容,包括:mongodb是什么类型的数据库、Linux Centos 7安装MongoDB(简单!详细!)、MongoDB与MySQL:如何选择等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9544877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存