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:如何选择等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)