当前位置:首页>开发>正文

mongodb的update和findAndModify有什么区别 java monggodb怎么引入morphia

2023-04-16 23:43:22 互联网 未知 开发

 mongodb的update和findAndModify有什么区别 java monggodb怎么引入morphia

mongodb的update和findAndModify有什么区别

在MongoDB中,文档是对数据的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各种语言的Driver)都会使用这种抽象,它的表现形式就是我们常说的BSON(Binary JSON )。
BSON是一个轻量级的二进制数据格式。
MongoDB能够使用BSON,并将BSON作为数据的存储存放在磁盘中。
当Client端要将写入文档,使用查询等等操作时,需要将文档编码为BSON格式,然后再发送给Server端。同样,Server端的返回结果也是编码为BSON格式再放回给Client端的。

java monggodb怎么引入morphia

Java操作MongoDB示例
在本示例之前你需要启动mongod.exe的服务,在你安装mongoDB的目录中,找到mongod.exe启动服务后,下面的程序才能顺利执行;
1、 Java操作mongoDB数据库,操作索引
Mongo mongo = new Mongo()
这样就创建了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017。
DB db = mongo.getDB(“test”)
这样就获得了一个test的数据库,如果mongoDB中没有创建这个数据库也是可以正常运行的。如果你读过上一篇文章就知道,mongoDB可以在没有创建这个数据库的情况下,完成数据的添加操作。当添加的时候,没有这个库,mongoDB会自动创建当前数据库。
得到了db,下一步我们要获取一个“聚集集合DBCollection”,通过db对象的getCollection方法来完成。
DBCollection users = db.getCollection("users")
这样就获得了一个DBCollection,它相当于我们数据库的“表”。
查询所有数据
DBCursor cur = users.find()
while (cur.hasNext()) {
System.out.println(cur.next())
}
用BasicDBObjectBuilder,向users对象中添加数据
user = BasicDBObjectBuilder.start("id", 1546555)
.append("name", "jojo").add("address", "gz")
.append("email", "hoojo_@126.com")
.get()
插入数据
users.insert(user)
可以利用JSON工具来序列化对象数据
JSON.serialize(cur)

mongodb oplogsize 设置多大合适

--configsvr # 声明这是一个集群的config服务,默认端口27019,默认目录/data/configdb
--shardsvr # 声明这是一个集群的分片,默认端口27018
--noMoveParanoia # 关闭偏执为moveChunk数据保存

# 上述参数都可以写入 mongod.conf 配置文档里例如:

dbpath = /data/mongodb
logpath = /data/mongodb/mongodb.log
logappend = true
port = 2701fork = true
auth = true

e.g:./mongod -shardsvr -replSet shard1 -port 16161 -dbpath /data/mongodb/data/shard1a -oplogSize 100 -logpath /data/mongodb/logs/shard1a.log -logappend -fork -rest。