Mongo中append方法使用
在MongoDB的官网已经很详细的介绍了各种客户端的使用,其中也包括java的,在此,仅对几个比较疑惑的地方做个标注:
(1)、如何向db中添加collection?
如果在api文档中找不到答案,那就去看源代码吧。可以看到com.mongodb.DB类中是如何定义getCollection方法的。其中DB类是抽象类,且doGetCollection(name)方法也是抽象的。
- /**
- * <strong>Gets a collection with a given name.</strong>
- * I<strong>f the collection does not exist, a new collection is created</strong>.
- * @param name the name of the collection to return
- * @return the collection
- */
- public final DBCollection getCollection( String name ){
- DBCollection c = doGetCollection( name );
- return c;
- }
可见,当调用db.getCollection( String name )方法时,如果以name命名的collection不存在,则自动创建一个,并返回。
(2)、BasicDBObject的append和put两个方法有何区别?
首先看一下BasicDBObject的继承结构,com.mongodb.BasicDBObject --》com.mongodb.DBObject(接口) --》org.bson.BSONObject(接口)。
其中,put( String key , Object v )方法是BSONObject接口定义的,具体定义如下:
- public interface BSONObject {
- /**
- * Sets a name/value pair in this object.
- * @param key Name to set
- * <strong>@param v Corresponding value</strong>
- * <strong>@return <tt>v</tt></strong>
- */
- public Object put( String key , Object v );
- }
而append( String key , Object val )方法的定义是在BasicDBObject类中,具体定义如下:
- public class BasicDBObject extends BasicBSONObject implements DBObject {
- @Override
- public BasicDBObject append( String key , Object val ){
- put( key , val );
- <strong>return this;</strong>
- }
- }
可以看出,put方法返回的是value值,而append方法返回的是对象本身,这样就可以向使用链式的方式添加数据,如:new BasicDBObject().append("username","zhang").append("password","111111");
Mongo中append方法使用的更多相关文章
- mongo中游标
1.手动循环访问游标 mongo中我们常用的查询方式db.collection.find()方法其实返回的就是游标,只不过我们并未给返回的游标分配变量,我们所看到的的查询数据也就是游标自动迭代得出的( ...
- 原生js实现append()方法
一.在使用jquery时,append() 方法在被选元素的结尾(仍然在内部)插入指定内容 使用方法:$(selector).append(content),content为必需的.规定要插入的内容( ...
- Java中StringBuffer类append方法的使用
public static void testAppend() { StringBuffer sb = new StringBuffer("This is a StringBuffer!&q ...
- jquery中append、prepend, before和after方法的区别
1.prepend() .append()方法在被选元素的开头/结尾插入文本/HTML: 2.before().after()方法在被选元素之前/之后插入内容: append() & prep ...
- Python List 中 Append 和 Extent 方法不返回值。
Append: list的append 方法是没有返回值的,因此list 的引用L被置为空 结果也就自然是空了. 再看一个例子: append 跟extend方法的区别是什么呢? 其实这样看的就很清楚 ...
- jquery中append、prepend, before和after方法的区别(一)
原文:http://blog.csdn.net/woosido123/article/details/64439490 在 jquery中append() 与 prepend()是在元素内插入内容(该 ...
- mongo db 使用方法
1 下载 mogodb http://www.mongodb.org/display/DOCS/Downloads 2 打开服务 我安装在e盘下了 可以指定数据文件位置 到 E:\mongoDB\mo ...
- mongo db 使用方法[转]
1 下载 mogodb http://www.mongodb.org/display/DOCS/Downloads 2 打开服务 我安装在e盘下了 可以指定数据文件位置 到 E:\mongoDB\mo ...
- 快速向表中插入大量数据Oracle中append与Nologging
来源于:http://blog.sina.com.cn/s/blog_61cd89f60102e7gi.html 当需要对一个非常大的表INSERT的时候,会消耗非常多的资源,因为update表的时候 ...
随机推荐
- 解决js小数求和出现多位小数问题
在小数相加时,可能会产生多个小数位.如下所示: var x=1+1; //2 var x=1.20+1.11; //2.31 var x=1.56+1.76; //3.3200000000 ...
- 【转】Docker网络详解及pipework源码解读与实践
好文必转 原文地址: http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-prac ...
- UI中经常出现的下拉框下拉自动筛选效果的实现
小需求是当你在第一个下拉框选择了国家时,会自动更新第二个省份的下拉框,效果如下 两个下拉选择Html如下: <select id="country_select"> & ...
- BZOJ 2527 & 整体二分
Byteotian Interstellar Union有N个成员国.现在它发现了一颗新的星球,这颗星球的轨道被分为M份(第M份和第1份相邻),第i份上有第Ai个国家的太空站. 这个星球经常会下陨石雨 ...
- js 生成m位随机数入门实例
1.根据时间生成m位随机数,最大13位随机数,并且不能保证首位不为0. 例子: function ran(m) { m = m > 13 ? 13 : m; var num = new Date ...
- ACM 数独
数独 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 数独是一种运用纸.笔进行演算的逻辑游戏.玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一 ...
- transform应用详解
关于css3的transform,做了一个demo,上代码 html: <!DOCTYPE html> <html> <head lang="en"& ...
- JS中的专业术语
本身虽然是学技术出身,但.....此处省略N个字符 1.Namespace 命名空间 允许开发人员在一个独特, 应用相关的名字的名称下捆绑所有功能的容器. 2.Class类 定义对象的特征.它是对象的 ...
- 六、雪花《苹果iOS实例编程入门教程》
该app为应用的功能为制作一场雪景 现版本 SDK 8.4 Xcode 纲要:- UIImageView 的运用- onTimer 代码运用- onAnimation 代码运用 运行Xcode 选择 ...
- Node.js 手册查询-4-Express 方法
express 标签(空格分隔): node.js express [TOC] 安装: 新版本中命令行工具分家了 npm install -g express //安装 express 然后 npm ...