阅读更多

4顶
0踩

数据库
MongoDB开发团队上周发布了MongoDB 2.4版本(随后又发布了最新的2.4.1),新版本主要改进可参阅《MongoDB 2.4 正式发布,带来全文检索功能》。

本文要介绍的是MongoDB 2.4中新引入的V8引擎。V8代替了之前的Spidermonkey 1.7引擎,使得对JavaScript的执行更加高效。

下面来看看新引擎带来的一些变化:

1.  并发改进

之前版本中,每一个使用JS解释器进行的查询/命令都需要获取一个互斥体,从而序列化所有的JS工作。通过使用V8,并发性得到改善,现在允许每个JS工作运行在一个单独的核心。

2.  现代化的Javascript实现(ES5)

如今大部分浏览器(如Chrome、Firefox、Safari、IE)都已经实现了ECMAscript 5(简称ES5)规范,该版本包含了一些新的功能,如JSON严格模式function.bind()数组扩展、getters/setters方法等。通过使用V8引擎,MongoDB现在也支持ES5,现在开发和维护迁移的脚本、MapReduce工作更加容易。详见:release notes

3.  受影响的功能

当迁移到MongoDB 2.4及以上版本时要注意,由于使用了新的JS引擎,因此一些功能也受到了影响。

针对Map-Reduce和$where操作符的额外限制

在MongoDB 2.4 shell中可用一些全局函数和属性(如db),现在不能用于Map/Reduce/Finalize、$where和group。当升级到该版本后,如果你在代码中使用了任何弃用的全局shell函数或属性,则需要重构你的代码。

新版本中,下面的这些函数或属性可用于 MapReduce、group和$where:

属性:

  • args
  • MaxKey
  • MinKey
函数:

  • assert()
  • BinData()
  • DBPointer()
  • DBRef()
  • doassert()
  • emit()
  • gc()
  • HexData()
  • hex_md5()
  • isNumber()
  • isObject()
  • ISODate()
  • isString()
  • Map()
  • MD5()
  • NumberInt()
  • NumberLong()
  • ObjectId()
  • print()
  • sleep()
  • Timestamp()
  • UUID()
  • version()
移除了非标准的SpiderMonkey功能

SpiderMonkey实现了一些非标准的JavaScript语言特性,而这些特性在V8中没有提供。不过,该变化的影响比较小,因此在文档中也没有列出。

关于V8和Spidermonkey的不同之处,可参阅http://docs.mongodb.org/manual/release-notes/2.4-javascript/#removed-non-standard-spidermonkey-features]docs.mongodb.org[/url]

尽管MongoDB支持ES5实现,但还存在一些例外,比如以下特性就无法使用:

详细信息:JavaScript Changes in MongoDB 2.4
4
0
评论 共 4 条 请登录后发表评论
4 楼 javajdbc 2013-08-29 17:36
有些资料上把 mongo js 当做存储过程用,

ps: 没什么大的区别
3 楼 lection.yu 2013-04-02 17:53
lishijia 写道
lection.yu 写道
数据库。。使用js做什么??我没用过这个数据库,用这个做存储过程?


哥们,这是nosql。 百度一下看看。

nosql的我就用过点redis。对mongodb只是听说的层面。。这就谷歌一下吧。
2 楼 lishijia 2013-04-02 16:36
lection.yu 写道
数据库。。使用js做什么??我没用过这个数据库,用这个做存储过程?


哥们,这是nosql。 百度一下看看。
1 楼 lection.yu 2013-04-01 11:45
数据库。。使用js做什么??我没用过这个数据库,用这个做存储过程?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 可恶的C语言——代码风格

    代码风格 #include指令应置于整个程序最上方。 缩进应使用4个空格或等长的Tab,且应可区分代码内外层的逻辑。 右花括号前不应该有多余空行。 独立意义的代码块应用空行隔开,但不应该有两个连续的空行。 尽量少使用全局变量。且局部变量不应该与上一代码块中变量重名,但可与全局变量重名。 只在一个函数中使用到的需全局空间或生命周期的变量,必须定义为static的局部变量。 空函数可使用不换行的{}。 void类型的函数常规返回应省return。 非void类型的函数不应无默认情况的return。 命名应使用

  • 所遇不良设计(一)

    Table of Contents 1. 扩展的常量 2. 多变的函数 3. 强势的friend 4. 层叠的工程   我们在设计时,一定要考虑系统的未来的可扩展性,为未来做好准备,预备接口。现在软件的设计为了降低其耦合度,大多将软件设计成插件模式。 1 扩展的常量   系统中出现大量的常量,随着系统模块的添加,会不断增加这些常量; ...

  • CH340电路设计注意事项

    在前面两篇博客提到了CH340的电路设计以及芯片选型,本文将重点放在使用CH340芯片进行电路设计的一些细节与注意事项。 电压匹配问题 CH340 芯片通过 USB 转换出来的 TTL 串口输出和输入电压是根据芯片供电电压是自适应的。也即,如果芯片是 5V 供电,那么串口输出和采样都是5V;如果是3.3V供电,那么标准就成了3.3V,因此在实际使用的时候,串口连接到的对端设备需要注意电压匹配的

  • C++编码风格/规范/建议

    Google 开源项目风格指南 里面包含五份(C++ 、Objective-C、Python 、JSON、Shell )中文版的风格指南。

  • MongoDB 2.4的新特性

    原文:... MongoDB 2.4 于3月19发布。 Release Notes for MongoDB 2.4 MongoDB 2.4新特性(亮点)有: 基于哈希的分片 Hash-based Sharding Capped数组 Capped Arrays 全文搜索 Text S

  • MongoDB刚刚发布了2.4版本

    MongoDB刚刚发布了2.4版本 标签:Nosql创建日期:2013-03-20 16:20:03 More0 MongoDB刚刚发布了其2.4版本,是目前最新的稳定版。此版本包括了一些性能优化,功能增强以及bug修复。更细节的信息可以...

  • mongodb跨集合查询_从零学习 NoSQL 注入之 Mongodb

    0x01 NoSQL 和 MongoDB 简介NoSQLNoSQL 的概念就不赘述了,以下摘自菜鸟教程。NoSQL,指的是非关系型的数据库。NoSQL 有时也称作 Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL ...

  • MongoDB 笔记

    MongoDB 笔记 (bson)

  • MongoDB学习笔记-2、MongoDB简介与安装

    目录 1、MongoDB简介 1.1、什么是MongoDB ...2.4、添加环境变量 3、服务端启动MongoDB 3.1、前台启动 3.2、后台启动 3.3、客户端访问MongoDB 3.4、关闭MongoDB 1、MongoDB简介 1.1、什么是MongoD

  • 不良设计的征兆

    1.设计的结构很难做改变,或者改变的代价很高2.设计结构中的一处做了改动,就在其他地方产生问题。3.当前的软件不能够重用,或者不存在重用。4.类与类之间的关联度很高,或者软件与环境的关联度很高。5.某些类的职责很集中,出现以该类为中心,辐射很多关联的情况。、6.继承非常多,而很少有组合。7.机能相关的设计,与职能相关的设计混杂在一起。

  • MongoDB Aggregation(聚合)

    MongoDB提供了三种执行聚合的方法:聚合管道、map-reduce函数和单一用途的聚合方法。 一、聚合管道 聚合管道是基于数据处理管道概念建模的数据聚合框架。文档进入一个多阶段的管道,该管道将文档转换为聚合的结果。...

  • 【小沐学数据库】MongoDB下载、安装和入门(Python)

    MongoDB是一个文档数据库,旨在简化应用程序 开发和扩展。MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系...

  • Mongodb中Mapreduce特性与原理

    目前很多大数据存储平台都支持mapreduce,比如hadoop、hbase等等,也有很多采用了类似于mapreduce的算法的其他数据计算平台,关于mapreduce的原理不再赘言,我们直接来了解mongodb中如何使用mapreduce。    ...

  • MongoDB简史

    作者 | quickprogrammingtips 译者 | 无明 策划 | 小智 编辑 |架构头条说到现代 Web 应用程序开发,不得不提到 MongoDB。如果你是一名全栈程...

  • MongoDB MapReduce 性能提升20倍的优化宝典

    自从MongoDB被越来越多的大型关键项目采用后,数据分析也成为了越来越重要的话题。人们似乎已经厌倦了使用不同的软件来进行分析(这都利用到了Hadoop),因为这些方法往往需要大...尽管在MongoDB v2.4版本中,由于JavaS

  • Mongodb中FAQ整理

    1、mongodb是什么类型的数据库?  mongodb是一个基于document的NOSQL数据库,每条数据的结构为BSON形式。mongodb不能支持join和事务,支持索引(组合索引、唯一索引等)和丰富的查询条件,单条document的写操作...

  • mongodb数据库扩展名_MongoDB安装部署及基本操作

    MongoDB第1章 数据库管理系统1.1 什么是数据?数据是指未经过处理的原始记录,一般而言,数据缺乏组织及分类,无法明确的表达事物代表的意义,数据描述事物可以是描述事物的符号记录,是可定义为意义的实体,设计事物的存在...

  • MongoDB MapReduce速度提升20倍的优化宝典

    自从MongoDB被越来越多的大型关键项目采用后,数据分析也成为了越来越重要的话题。人们似乎已经厌倦了使用不同的软件来进行分析(这都利用到了Hadoop),因为这些方法往往需要大规模的数据传输,而这些成本相当昂贵...

  • 《MongoDB大数据处理权威指南》读书笔记

    启动MongoDB 启动mongodb :sudo systemctl start mongod.service 停止mongodb :sudo systemctl stop mongod.service 2.2.2在Windows中安装MongoDB 2.3运行MongoDB 2.3.1先决条件 2.3.2研究安装目录布局 2.3.3使用...

Global site tag (gtag.js) - Google Analytics