建立SimpleTestjava,完成简单的mongoDB数据库 *** 作 Mongo mongo = new Mongo(); 这样就创建了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017。 DB db = mongogetDB(“test”); 这样就获得了一个test的数据库,如果mongoDB中没有创建这个数据库也是可以正常运行的。如果你读过上一篇文章就知道,mongoDB可以在没有创建这个数据库的情况下,完成数据的添加 *** 作。当添加的时候,没有这个库,mongoDB会自动创建当前数据库。 得到了db,下一步我们要获取一个“聚集集合DBCollection”,通过db对象的getCollection方法来完成。 DBCollection users = dbgetCollection("users"); 这样就获得了一个DBCollection,它相当于我们数据库的“表”。 查询所有数据 DBCursor cur = usersfind(); while (curhasNext()) { Systemoutprintln(curnext()); } 完整源码 package comhootest; import javanetUnknownHostException; import commongodbDB; import commongodbDBCollection; import commongodbDBCursor; import commongodbMongo; import commongodbMongoException; impor 建立SimpleTestjava,完成简单的mongoDB数据库 *** 作
Mongo mongo = new Mongo();
这样就创建了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017。
DB db = mongogetDB(“test”);
这样就获得了一个test的数据库,如果mongoDB中没有创建这个数据库也是可以正常运行的。如果你读过上一篇文章就知道,mongoDB可以在没有创建这个数据库的情况下,完成数据的添加 *** 作。当添加的时候,没有这个库,mongoDB会自动创建当前数据库。
得到了db,下一步我们要获取一个“聚集集合DBCollection”,通过db对象的getCollection方法来完成。
DBCollection users = dbgetCollection("users");
这样就获得了一个DBCollection,它相当于我们数据库的“表”。
查询所有数据
DBCursor cur = usersfind();
while (curhasNext()) {
Systemoutprintln(curnext());
}
完整源码
package comhootest;
import javanetUnknownHostException;
import commongodbDB;
import commongodbDBCollection;
import commongodbDBCursor;
import commongodbMongo;
import commongodbMongoException;
import commongodbutilJSON;
/
<b>function:</b>MongoDB 简单示例
@author hoojo
@createDate 2011-5-24 下午02:42:29
@file SimpleTestjava
@package comhootest
@project MongoDB
@blog >
在MongoDB中,文档是对数据的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各种语言的Driver)都会使用这种抽象,它的表现形式就是我们常说的BSON(Binary JSON )。
BSON是一个轻量级的二进制数据格式。
MongoDB能够使用BSON,并将BSON作为数据的存储存放在磁盘中。
当Client端要将写入文档,使用查询等等 *** 作时,需要将文档编码为BSON格式,然后再发送给Server端。同样,Server端的返回结果也是编码为BSON格式再放回给Client端的。
1从一张表中查询符合条件的数据,复制到另一张临时表
testSrcCollection为源表
testDestCollection_20211120为临时表
UNVERIFIED:未激活
INEFFECTIVE:禁用
ACTIVE:激活
SUSPENDED:离职
MongoDB Shell Script *** 作备忘
>
我来解释一下吧。
collection其实就是关系型数据库中的table一样。通常说的“一张表”,在mongodb中就是一个collection
而shard是集群中的概念。
mongodb集群分两种:一种是Replica set,即副本集,由多个mongod组成,mongod之间存在主副关系,数据是同一份;另一种就是你说的分片,分三个角色,mongos,configserver,以及mongod,configserver存储的是元数据,通常是三个保存同一份数据,mongod实例则可以是单台mongod,也可以是一个副本集。几个mongod共同组成一大份数据。
shard其实通常是指第二种中的mongod。
实际上由于mongodb中分片是以collection为单位,因此一个shard上可以保存不同的数据。
接下来回答你的问题:
1中的理解是错的,一个shard是指一个单台mongod,或者多台mongod组成的副本集
通常是一个服务器或者服务器集群
新插入的collection?这个说话有点不对。
在建立了一个collection后,通常是要给它分片或者不分片的。
如果不分片,所有的数据,都会保存在一个shard上。
如果分片,在数据量未达到chunksize的情况下,还是会在一个shard上,当一个chunk已经饱和,则会生成新的chunk,至于新的chunk在哪个shard上,则是随机的,通常是会选择chunk最小的shard。
至于我刚才提的chunk,这个才是分片中的数据迁移基本单位。
相关文章么,楼主可以自己搜一下,mongodb官方的就很不错,不过是全英文的。
引擎的原因,只要降到2X版本就可以显示了
3x默认是wiredTiger 引擎,2x默认是mmapv1 引擎
打开MongoDB服务器,打开管理软件连接到服务器,此时如果数据库是默认条件下打开的,那么MongoVUE的collection列表是没法检测到,也没法新建的。这是因为MongoDB 32之后默认启动的是wiredTiger引擎,这个引擎和之前的引擎不同,而管理软件匹配的还是之前的引擎,所以无法使用。
此时要重新启动MongoDB服务器。启动命令是: mongod –storageEngine mmapv1 –dbpath XXXXX, 其中XXXXX是你的数据库存储路径。这样启动之后,再使用MongoVUE连接数据库服务器就可以了。
可以看到,管理软件左侧是:
这里写描述
以上就是关于mongoDB在java中怎么根据内嵌文档条件查询全部的内容,包括:mongoDB在java中怎么根据内嵌文档条件查询、MongoDB Aggregation、mongodb取不出值,折磨三个小时了,求教等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)