MongoDB基础知识 02

6 数据类型

6.1 null : 表示空值或者不存在的字段

{"x":null}

6.2 布尔型 : 布尔类型只有两个值true和false

{"x" : true}

6.3 数值  :默认使用64位浮点型数值

对于整数值,可使用NumberInt类或者NumberLong类,

{"x":3.14}
{"x":3} {"x",:NumberInt("3")}
{"x",:NumberLong("3")}

6.4 字符串:UTF-8字符串都可表示为字符串类型的数据。

6.5 日期:被存储为自新纪元以来经过的毫秒数,不存储时区。Date()返回的是字符串(日期的字符串表示), new Date()返回的是日期的对象。

6.6 正则表达式:查询时,使用正则表达式作为 限定条件,语法也和javascript的正则表达式语法相同。

6.7 数组 : 数据列表或者数据集可表示为数组。

6.8 内嵌文档:文档可以嵌套其他文档。

6.9 对象id :对象id是一个12字节的ID,是文档的唯一标识。

6.10 二进制数据 :任意字节的字符串。

6.11 代码 : 查询和文档中可以包括任意JavaScript代码。

7 使用MongoDB shell

7.1 对于MongoDBt特有的功能,可以使用help命令查看:

> help
db.help() help on db methods
db.mycoll.help() help on collection methods
sh.help() sharding helpers
rs.help() replica set helpers
help admin administrative help
help connect connecting to a db help
help keys key shortcuts
help misc misc things to know
help mr mapreduce show dbs show database names
show collections show collections in current database
show users show users in current database
show profile show most recent system.profile entries with time >= 1ms
show logs show the accessible logger names
show log [name] prints out the last segment of log in memory, 'global' is default
use <db_name> set current database
db.foo.find() list objects in collection foo
db.foo.find( { a : 1 } ) list objects in foo where a == 1
it result of the last line evaluated; use to further iterate
DBQuery.shellBatchSize = x set default number of items to display on shell
exit quit the mongo shell

可以直接在shell中输入函数名,看到相应函数的实现代码:

> db
zhangxindb
> show collections
blog
system.indexes
> db.blog.update
function ( query , obj , upsert , multi ){
assert( query , "need a query" );
assert( obj , "need an object" ); var wc = undefined;
// can pass options via object for improved readability
if ( typeof(upsert) === 'object' ) {
assert( multi === undefined,
"Fourth argument must be empty when specifying upsert and multi with an object." ); var opts = upsert;
multi = opts.multi;
wc = opts.writeConcern;
upsert = opts.upsert;
} var result = undefined;
var startTime = (typeof(_verboseShell) === 'undefined' ||
!_verboseShell) ? 0 : new Date().getTime(); if (!wc)
wc = this.getWriteConcern(); if ( this.getMongo().writeMode() != "legacy" ) {
var bulk = this.initializeOrderedBulkOp();
var updateOp = bulk.find(query); if (upsert) {
updateOp = updateOp.upsert();
} if (multi) {
updateOp.update(obj);
}
else {
updateOp.updateOne(obj);
} try {
result = bulk.execute(wc).toSingleResult();
}
catch( ex ) {
if ( ex instanceof BulkWriteError || ex instanceof WriteCommandError ) {
result = ex.toSingleResult();
}
else {
// Other exceptions thrown
throw ex;
}
}
}
else {
this._validateUpdateDoc(obj);
this.getMongo().update(this._fullName, query, obj,
upsert ? true : false, multi ? true : false ); // enforce write concern, if required
if (wc)
result = this.runCommand("getLastError", wc instanceof WriteConcern ? wc.toJSON() : wc);
} this._printExtraInfo("Updated", startTime);
return result;
}
>

7.2 使用shell执行脚本 

除了以交互方式使用shell,还可以直接传递脚本给shell。

例如:mongo script1.js script2.js script3.js

也可以使用load()函数,从交互式shell中运行脚本。

例如:load("script1.js")

MongoDB基础知识 02的更多相关文章

  1. MongoDB基础知识 01

    MongoDB基础知识  1. 文档  文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...

  2. DataBase MongoDB基础知识记录

    MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...

  3. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  4. MongoDB基础知识记录

    MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...

  5. 常见问题:MongoDB基础知识

    常见问题:MongoDB基础知识 ·MongoDB支持哪些平台? ·MongoDB作为托管服务提供吗? ·集合(collection)与表(table)有何不同? ·如何创建数据库(database) ...

  6. day03-MySQL基础知识02

    MySQL基础知识02 4.CRUD 数据库CRUD语句:增(create).删(delete).改(update).查(Retrieve) Insert 语句 (添加数据) Update 语句(更新 ...

  7. MongoDB 基础知识

    一. 基础知识 1. MongoDB是一个文档型的数据库,文档就是一个键值对的有序集合. 例如这样:{"greeting":"hello world"} 2. ...

  8. MongoDB基础知识(二)

    一.基本概念 1:文档(document)是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行 2:集合(collection)可以看做是一个拥有动态模式(dynamic schem ...

  9. MongoDB基础知识

    一.Mongodb简介 Mongodb是基于分布式文件存储的数据库,用C++编写: Mongodb是nosql(not-only-sql)数据库: Mongodb '无状态模式',不用去设计,直接用, ...

随机推荐

  1. js小分享

    之前实现一些js代码时,总觉得无法下手,所以最近在学习一下特别细的知识点,分享笔记.嘻嘻,偷个小懒,我把自己的笔记拍个照片就不打字了.嘎嘎,放心放心,自觉得字写的还算ok的啦- 表示家里的老弟玩游戏, ...

  2. AdaBoost原理,算法实现

    前言: 当做重要决定时,大家可能综合考虑多个专家而不是一个人的意见.机器学习处理问题也是如此,这就是元算法背后的思路.元算法是对其他算法进行组合的一种方式,前几天看了一个称作adaboost方法的介绍 ...

  3. VC++ 17、18课

    进程间通信的四种方式: 剪贴板 匿名管道 命名管道 邮槽 容器和服务器程序 容器应用程序是可以嵌入或链接对象的应用程序.word就是容器应用程序. 服务器应用程序是创建对象并且当对象呗双击时,可以被启 ...

  4. angularjs应用骨架

    使用典型的类库时,你可以选择并使用你所喜欢的功能:而对于angularjs框架来说,必须把它看成一个完整的套件来使用,框架中的所有的东西都包含在里面,接下来将会介绍angular的基础模块,这样你就可 ...

  5. kaptcha小案例(转)

    使用kaptcha生成验证码 kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜色.显示的字符等等.下面就来讲一下如何使用kaptcha生成验证码以及在服务器端取出验证 ...

  6. ASP.NET中扩展FileUpload的上传文件的容量

    ASP.NET中扩展FileUpload只能上传小的文件,大小在4MB以内的.如果是上传大一点的图片类的可以在web.config里面扩展一下大小,代码如下 <system.web> &l ...

  7. js学习--DOM操作详解大全 前奏(认识DOM)

    一 . 节点属性 DOM 是树型结构,相应的,可以通过一些节点属性来遍历节点树: 方法 说明 nodeName 节点名称,相当于tagName.属性节点返回属性名,文本节点返回#text.nodeNa ...

  8. jquery获取css color 值返回RGB

    css代码如下: a, a:link, a:visited { color:#4188FB; } a:active, a:focus, a:hover { color:#FFCC00; } js代码如 ...

  9. 精通 Oracle+Python,第 9 部分:Jython 和 IronPython — 在 Python 中使用 JDBC 和 ODP.NET

    成功的编程语言总是会成为顶级开发平台.对于 Python 和世界上的两个顶级编程环境 Java 和 Microsoft .NET 来说的确如此. 虽然人们因为 Python 能够快速组装不同的软件组件 ...

  10. 64位Win7下安装并配置Python3的深度学习库:Theano

    注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) 这两天在安装Python的深度学习库:Theano.尝试了好多遍,CMake.MinGW ...