理解Java对象MongoClient
Java对象MongoClient提供了连接到MongoDB服务器和访问数据库的功能.
构造函数
MongoClient 的构造函数可接受多种不同形式的参数
- MongoClient() : 创建一个客户端实例 , 并连接到本地主机的默认端口
- MongoClient(String host) : 创建一个客户端实例 , 并连接到本地主机的默认端口
- MongoClient(String host , int port) : 创建一个客户端实例,并连接到指定主机的指定端口
- MOngoClient(MongoClientURI uri) : 创建一个客户端实例,并连接到连接字符串uri指定的服务器 , uri格式如下 :
Mongodb://username:password@host:port/database?options
MongoClient实例提供的方法
方法 | 描述 |
Close() | 关闭连接 |
connect(address) | 连接到另一个数据库,该数据库由DBAddress对象指定,如connect(new DBAddress(host,port,dbname)) |
dropDatabase(dbName) | 删除指定数据库 |
getDatabaseNames() | 返回数据库名称列表 |
getDB(dbName) | 返回一个与指定数据库相关联的DB对象 |
setReadPreference(preference) | 将客户端的读取首选项设置为下列值之一: ReadPreference.primaryPreferred() ReadPreference.secondary() ReadPreference.secondaryPreferred() ReadPreference.nearest() |
setWriteConcern (concern) | 设置客户端的写入关注,可取值如下: |
理解Java对象DB
Java对象DB提供了身份验证 , 用户账户管理以及访问和操作集合的功能. 要获取DB对象实例,最简单的方式是调用MongoClient对象的方法getDB().
DB实例提供的方法
方法 | 描述 |
addUser(username , password) | 在当前数据库中添加一个具有读写权限的用户账户 |
Authenticate(username , password) | 使用用户凭证向数据库验证身份 |
createCollection(name,options) | 在服务器上创建一个集合.参数options是一个BasicDBObject,指定了集合创建选项 |
dropDatabase() | 删除当前数据库 |
getCollection(name) | 返回一个与name指定的集合相关联的DBCollection对象. |
getLastError() | 返回最后一次访问数据库导致的错误信息 |
getLastError(w,writeout,fsync) | 设置数据库写入操作的写入关注,超时和fsync设置. |
isAuthenticated() | 如果数据库连接时经过身份验证的,就返回true |
removeUser(username) | 从数据库中删除用户账户 |
setReadPreference(prefer ence) | 将客户端的读取首选项设置为下列值之一: ReadPreference.primaryPreferred() ReadPreference.secondary() ReadPreference.secondaryPreferred() ReadPreference.nearest() |
setWriteConcern(concern) | 设置客户端的写入关注,可取值如下: |
理解Java对象DBCollection
Java对象DBCollection提供了访问和操作集合中 文档的功能.要获取DBCollection对象,最简单的方式就是DB对象的方法getCollection()
DBCollection实例提供的方法(方法太多,选择常用的)
方法 | 描述 |
count() | 返回集合中的文档数 |
count(query) | 返回集合中与指定查询匹配的文档数. 参数query是一个描述查询运算符的BasicDBObject |
Drop() | 删除集合 |
dropIndex(keys) | 删除keys指定的索引 |
Find([query],[fields]) | 返回一个表示集合中 文档的DBCursor对象. 可选参数: |
findOne([query],[fields],[sort]) | 返回一个DBObject对象,表示集合中的一个文档. |
getStats() | 返回一个CommandResult对象 , 其中包含当前集合的信息. |
Insert(object,[concern]) | 在集合中插入一个对象 |
Insert(objects,[concern]) | 将一个对象数组插入到集合中 |
Remove([query],[concern]) | 从集合中删除文档.入股没有指定参数query,将删除所有文档;否则只会删除与查询匹配的文档. |
Rename(newName) | 重命名集合 |
Save(dbObject , [concern]) | 将对象保存到集合中,如果指定的对象不存在,就插入它. |
setReadPreference(prefer ence) | 将客户端的读取首选项设置为下列值之一: ReadPreference.primaryPreferred() ReadPreference.secondary() ReadPreference.secondaryPreferred() ReadPreference.nearest() |
setWriteConcern(concern) | 设置客户端的写入关注,可取值如下: |
Update(query,update,[upsert],[multi]) | 更新集合中的文档. Upsert : boolean 是否执行upsert Multi : boolean 指定更新多个文档还是只更新第一个文档. |
理解Java对象DBCursor
Java对象DBCursor表示MongoDB服务器中的一组文档.使用查找操作查询集合时,通常返回一个DBCursor对象,而不是向Java应用程序返回全部文档对象.
这样 能够在Java中受控的方式访问文档.
DBCursor对象以分批的方式从服务器取回文档,并使用一个索引来迭代文档.
在迭代期间,当索引达到前那批文档末尾时,将从服务器取回下批文档.
DBCursor实例提供的方法
方法 | 描述 |
BatchSize(size) | 指定每当读取到当前已下载的最后一个文档时,游标都将再返回多少个文档 |
Close() | 关闭游标并释放它占用的服务器资源 |
Copy() | 返回游标的拷贝 |
Count() | 返回游标表示的文档数 |
hasNext() | 如果游标中还有其他可供迭代的对象,就返回true |
Iterator() | 为游标创建一个迭代器对象 |
Limit(size) | 指定游标可最多表示多少个文档 |
next() | 为游标中中的下一个文档作为BDObject()返回,并将索引加一 |
Size() | 计算与查询匹配的文档数,且不考虑limit()和skip()的影响 |
Skip(size) | 在返回文档前,跳过指定数量的文档 |
Sort(sort) | 按DBObject参数sort指定的方式对游标中的文档排序 |
toArray([max]) | 从服务器检索所有的文档,并以列表的方式返回,如果指定了参数max,则只检索指定数量的文档 |