本文主要总结一下在使用 Meteor 开发过程中对 mongodb 数据库的管理。其中包含使用命令行终端(meteor shell)进行管理,还有图形化界面的工具 Robomongo 工具。...也就是说,如果你指定启动 meteor 项目时使用了其他端口,比如 meteor -p 8000,那么 mongodb 的数据库连接端口就是 8001。...使用 meteor shell 进行管理 通过 meteor shell 管理 mongodb 不需要指定端口,你只要在 meteor 项目启动后的项目目录下执行 meteor mongo 就可以连接到数据库了...如下: myCode:~/Project/microduino$ meteor mongo MongoDB shell version: 2.6.7 connecting to: 127.0.0.1:3001.../meteor meteor:PRIMARY> 这样就连接到了当前项目的 mongodb 数据库,通过 help 命令可以看到帮助。
简单来讲,Meteor基于Node来开发实时应用,复用前后端JS代码。...使用 使用 meteor create 新建项目,进入项目目录, 执行 meteor 命令,运行,即可在浏览器查看。 ? ? 应用文件结构 ? /server 文件夹中的代码只会在服务器端运行。...启动应用是,会启动3个服务:proxy, mongoDB, http server....这里已经启动了一个mongod的服务,可以执行 meteor mongo 进入mongo shell,然后敲各种熟悉的命令进行db操作。...包,只需要 meteor add xxx 终端调试,可以用meteor指令将app安装到模拟器中运行 与angular和react无缝对接 终有一天,前端将抛弃CGI、后台,开发出一款属于自己的APP。
MongoDB 中 _id 的生成 mongodb 采用了一个称之为 ObjectId 的类型来做主键,ObjectId 是一个12字节的 BSON 类型字符串,如下图所示。...MongoDB 的哲学 这样设计的主键 ID 从根本上保证了其唯一性,也因此可以不必由 MongoDB 服务器生成,通常,主键 _id 的生成都是由客户端的驱动程序完成的。...MongoDB 允许我们自己生成 _id,但是这样唯一性的压力就又来了,在并发环境下保证自增 ID 的严格自增与避免 ID 冲突有时是需要丰富的经验的。 5....自己生成自增 id — findAndModify 虽然已经有很多生成自增 id 的方案可供选用,如依赖 redis 等,但 MongoDB 本身提供了原子操作,我们可以通过 MongoDB 提供的原子操作来实现...通过 php 生成 MongoDB 自增 id <?
MongoDB中的主键是什么? 在MongoDB中,_id字段是集合的主键,以便可以在集合中唯一地标识每个文档。_id字段包含唯一的Object ID 值。...默认情况下,在集合中插入文档时,如果您没有在字段名称中添加带有_id的字段名称,则MongoDB将自动添加一个Object id字段,下图所示: ?...如果要确保在创建集合时MongoDB不会创建_id字段,并且要指定自己的ID作为集合的_id,则需要在创建集合时明确定义它。 在显式创建id字段时,需要使用名称中的_id创建它。...db.Employee.insert({_ id:10,“ EmployeeName”:“ Smith”}) 代码说明: 1....结果显示表明,我们在创建集合时定义的_id字段现在作为集合的主键。 译者:徐杨 MongoDB中文社区翻译志愿者,资深程序员。
这个问题是我带的徒弟今天遇到的,程序在向mongodb中插入数据时出现id重复的错误,出错的提示如下: duplicate key error collection: index: id dup key...默认情况下id字段的类型为ObjectId,它是MongoDB的BSON类型之一。如果用户需要还可以将id设置为为ObjectId以外的其他类型。...一般来说,如果文档尚未分配id值,则MongoDB将会自动生成一个id值。...这两种原因都有个共同点,那就是让mongodb自己生成id。那么我们可以不让mongodb自己生成id,我们自己手动添加id,当插入的数据带有id的字段时,mongodb就不再自动生成id。...至此, mongodb重复id的问题就解决了。
MongoDB中的主键无需明确指定,每一条记录被添加到集合之后, MongoDB都会自动添加主键,MongoDB中文档主键的名称叫做 _id,是一个ObjectId类型的数据,格式如下: study...> db.user.find() [ { _id: ObjectId("62c44b4d5604b99daa91103e"), name: '小博' } ] 数一下_id这个字段的长度,我们发现一共有24...位,我们将_id字段的内容拆分成4部分去分别看其对应的含义: 62c44b4d 5604b9 9daa 91103e 1-8位字符:插入数据的时候对应的时间戳 9-14位字符:代表主机的唯一标识符...db.getCollection("user").insert({ "name": "李四", "age": 29, "height": 178 }) 查看数据库里面的数据: 以_id...,但是,用户也可以自定义这个id的值: db.getCollection("user").insert({ "_id":"1", "name": "大刀王五", "age": 29
我们很高兴发布了Meteor 1.4,这个版本的主要更新包括了Node和MongoDB,以及更加灵活的基于社区的发布流程。...我们同样使用了最新的MongoDB 3.2.6。这个版本的MongoDB包括了性能优异的WiredTiger存储引擎,现在默认开启。我们还引入了一个灵活的方式到Meteor核心扩展包发布流程中去。...运行meteor update命令来更新现有的app或者访问Meteor install page获得最新Meteor。...展望Meteor 1.5,我们构造Apollo已经取得重大进展,它是Meteor全新的基于GraphQL的数据栈。目前为止我们都在开发基础特性来使这项技术在Meteor生态或其外都得到使用。...现在是时候开发一个更紧凑的现有Meteor应用集成了。同其他一些激动人心的Meteor 1.5目标,我们准备使用Apollo和GraphQL来给Meteor带来SQL支持。
我们通常会用一个 Array 字段来储存一组用户 ID 列表或者一组文章 ID 列表。当我们需要查询某个用户是否在这个 Collection 的某个 Array 字段时就会用到本文中提到的方法。...invitationIds: { $elemMatch: { $in: ['MoAGij5SatoPsP5G3'] } } }) 这里用到了 elemMatch 和 in 方法,更多内容大家可以自己搜索一下 mongodb
meteor-tupperware是一款更为精简的、适用于生产环境的Meteor Docker镜像。我们只需要两分钟就能快速部署应用!...Cordova集成的原生应用,因为它不能指定build flags,如--mobile-settings 或 --server,而meteor-tupperware能让你轻松做到; meteor-tupperware...能让你轻松集成ImageMagick; meteor-tupperware使用更为简单,使用指南可以看项目README。...当然,meteord也有meteor-tupperware没有的特性,meteord能够在容器中运行一个已经构建好的bundle,无论是从本地加载还是从远程下载。...这些都是很棒的特性,但是meteor-tupperware旨在一个目标:尽可能简单地在生产环境下部署你的Docker镜像。点击「阅读原文」查看项目地址!
前言熟悉 MongoDB 的用户应该都知道,它并不像一些关系型数据库那样提供内置的自增 ID 功能,而是默认使用 ObjectId 作为主键的类型。...但有时使用自增 ID 可能更符合某些应用场景的需求,例如:兼容现有系统某些系统需要将数据迁移到 MongoDB 时,如果原来使用的是自增 ID 作为主键,在迁移过去之后需要保持自增主键的特点。...这在需要手动输入或与用户交流时特别有用,因为自增 ID 比 ObjectId 更短、更易读。虽然 MongoDB 不支持自增 ID 的功能,但我们仍然可以使用其他方式来实现此功能。...本文将会介绍如何在 MongoDB 中实现自增 ID 序号。准备好了吗?准备一杯你最喜欢的咖啡或茶,随着本文一探究竟吧。...小结本文详细探讨了在 MongoDB 中实现自增 ID 序号的方法。
meteor js的全栈开发框架,官方的解释: Meteor makes it an order of magnitude simpler, and a lot more fun....meteor集成了mongodb、nodejs、angular、react,属于一种快速开发框架。...1、创建应用并运行: 安装完成后,进入任意工作目录,执行命令创建应用: meteor create myapp 运行: cd myapp meteor 默认端口为3000,访问: ?...meteor自带一个云部署功能,比较厉害,直接执行命令: meteor deploy 其中可以为:yourSiteName.meteor.com 比如我的直接为:http://...cz.meteor.com,直接访问如下: ?
需要注意 meteor不支持windows系统,需要在linux或mac ox下运行 meteor是基于nodejs的,所以系统中需安装好nodejs 我的服务器中已经装好nodejs,下面开始体验...meteor (1)安装环境 curl install.meteor.com | /bin/sh (2)创建应用(名称为testmeteor) meteor create testmeteor...(3)启动运行 cd testmeteor meteor 访问 http://localhost:3000/ 即可看到 至此 meteor的环境已经安装完成,并且成功创建并运行了一个空白项目,非常简单..., createdAt: new Date() }); > db.tasks.insert({ text: "Hi Meteor!"...对应登录用户的信息,也可以直接取到,例如用户ID和用户名 Meteor.userId() Meteor.user().username 点击 “阅读原文” 可以查看 “文章列表”
来源:猿天地 链接:http://cxytiandi.com/blog/detail/1897 用了mongodb之后要是问我mongo和mysql的区别在哪里?...第一点我就会想到的是没有自增ID,mongo里面是ObjectId。今天我们就自己来实现自增的ID。 像mysql这种数据库是内部实现了自增ID,今天我们要自己实现一个,不知道大家有没有具体的思路。...当然mongodb官网上也提供了一种实现的方法,就是自定义一个获取自增ID的方法,然后每次插入的时候就去获取下一个ID,再插入到集合中。...我们既然用了spring-data-mongodb这个框架,就要基于这个框架来实现一套逻辑,而且每次插入都要自己去手动的调用方法获取一次ID,是不是太繁琐了。...首先我们定义一个用于存储每个集合的ID记录,记录每个集合的自增ID到了多少。
一、背景 如何实现分布式id,搜索相关的资料,一般会给出这几种方案: 使用数据库自增Id 使用reids的incr命令 使用UUID Twitter的snowflake算法 利用zookeeper生成唯一...ID MongoDB的ObjectId 另外,在我通过爬取知乎用户id发现,知乎的用户id是32位的,初步断定知乎采用的是md5加密,然后全部转换成小写。...二.mongodb如何实现分布式ID MongoDB的ObjectId设计成轻量型的,不同的机器都能用全局唯一的同种方法方便地生成它。...getId() { return id; } public void setId(String id) { this.id = id; }...MongoDB深究之ObjectId MongoDB 教程
/ Demo 演示 基本的分页 - http://pages.meteor.com/ 表格 (快速渲染) - http://pages-table.meteor.com/ 多个 collection 自动刷新...- http://pages-multi.meteor.com/ 滚动加载效果 - http://pages3.meteor.com/ 使用 要使用这个包的功能非常简单,首先用你要实现分页的 collection..._session.id] {} , uFields = userSettings.fields this.fields , uSort = userSettings.sort..._id}); // products are always visible to owners if (!..._id))) { _.extend(_filters, {isVisible: true}); } } // 返回新的分页属性
Meteor 1.3新增的NPM支持能够帮助开发者构建更加模块化的应用,但是假如我们不能保证应用按照我们的需求工作,那么这将毫无意义。我们需要开发新特性和重构代码,并且对这些工作有足够的信心。...Meteor 1.3对模块的测试给予我们一个官方的回应。现在开发者能够将他们的代码分割成更小,更容易维护的小片段,他们现在就可以更高效地测试应用了。...看起来他们给出了测试Meteor应用的非常棒的解决方案。 测试如何工作? Meteor 1.3的测试文件有一个特殊的后缀名.tests.js,并且它们能在任何文件夹下。...} from 'meteor/practicalmeteor:chai'; import laserPointer from '....如何运行测试 目前,测试需要两步来完成,首先,像往常一样运行你的应用: meteor 然后在另一个端口上运行测试汇报(假设这里应用运行端口为3000) meteor test --driver-package
前阶段看到一篇文章,说以往花费数周时间才能完成的网站,现在使用 Meteor 只需要几小时 很好奇Meteor是个什么技术?怎么大幅提高开发效率的?...+ MongoDB,并把这个基础构架同时延伸到了浏览器端,所以你可以用js完成前端到数据库的全部工作 实时 Meteor使用分布式数据协议DDP 来处理实时通信,使用WebSockets或Ajax长轮询来支持这种协议...事实上 Meteor 提供了两个MongoDB数据库:客户端缓存数据库、服务器端MongoDB数据库 当用户更改一些数据时,在浏览器中运行的js代码会更新本地MongoDB中的数据,然后向服务器发出一个...,启动apache和mysql,这时就可以访问页面了 使用Meteor的话,只需要一个命令来安装Meteor,然后启动,这时,web服务器、MongoDB 就已经就绪,可以直接访问了 (2)前后端统一使用...JavaScript 进行开发 例如使用LAMP开发,常见的代码流程:js ajax 调用php,php调用mysql,封装json数据返回给客户端进行处理 Meteor用js开发,MongoDB的接口是
Meteor 加入账户系统 ---- 我们给meteor加入一个账户系统 导入包 meteor add ian:accounts-ui-bootstrap-3 meteor add accounts-password
记一次Meteor项目部署配置,使用 CentOS + Meteor + React + Mongdb + Nginx。...node版本与Meteor依赖一致v0.10.43 自定义服务配置比较麻烦,给出配置文件示例。...环境变量配置参数 /etc/profile export PATH=/usr/local/mongodb/bin:$PATH export MONGO_URL=mongodb://localhost:...to figure out correct IP address of visitors export HTTP_FORWARDED_COUNT=1 # MongoDB connection...string using meteor as database name export MONGO_URL=mongodb://localhost:27017/chat # The domain
领取专属 10元无门槛券
手把手带您无忧上云