Mongodb下文档的数据结构和JSON基本一样。

所有存储在集合中的数据都是BSON格式。

BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

插入文档

MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:

db.COLLECTION_NAME.insert(document)

实例,下面我们使用test数据库,将数据存储在things集合中。建立两个对象j和t,然后保存到集合中去。在例子里">"用来表示shell输入提示符:

>j = {name:"psz"}
{"name":"psz"}
>t = {x:3}
{"x":3}
>db.things.save(j);
>db.things.save(t);

结果如下图:

以上实例中 things 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合比插入文档。

我们也可以使用insert方法将数据插入集合中,如:

>data = {title:"技术拉近你我",url:"http://coderschool.cn"}

>{"title":"技术拉近你我","url":"http://coderschool.cn"}

>db.things.insert(data)

结果如下图:

还可以使用for循环加点数据,比如:

总结几个要点:

在Mongodb插入数据时,不需要预先创建一个集合。在第一次插入数据时会自动创建。

在文档中其实可以存储任何结构的数据,当然在实际应用我们存储的还是相同类型文档的集合。这个特性其实可以在应用里很灵活,这样就不需要类似alter table语句来修改数据结构。

每次插入数据时集合中都生成一个ID,名字叫_id。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则save()方法会更新该 _id 的数据。

转载自mongodb教程,原文地址:http://coderschool.cn/1727.html

Mongodb插入记录的更多相关文章

  1. php之mongodb插入数据后如何返回当前插入记录ID

    <?php /** *插入记录 *参数: *$table_name:表名 *$record:记录 * *返回值: *成功:true *失败:false */ function insert($t ...

  2. MongoDB学习记录

    一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...

  3. Python MongoDB 插入文档

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  4. MyBatis获取插入记录的自增长字段值

    在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名! <insert id=" ...

  5. Mybatis获取插入记录的自增长ID(转)

    1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名. <ins ...

  6. MySql避免重复插入记录

    今天用python抓取数据入库需要避免重复数据插入,在网上找了一些方法: 方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用 ...

  7. Java知多少(110)数据库之插入记录

    插入数据表记录有3种方案 一.使用Statement对象 实现插入数据表记录的SQL语句的语法是: insert into 表名(字段名1,字段名2,……)value (字段值1,字段值2,……) 例 ...

  8. mysql防止重复插入记录方法总结

    mysql防止重复插入记录方法总结 防止mysql重复插入记录的方法有很多种,常用的是ignore,Replace,ON DUPLICATE KEY UPDATE,当然我们也可以在php中加以判断了. ...

  9. 初学JDBC,获取插入记录的主键、执行批量操作

    一.获取插入记录主键值 在创建语句的地方使用Statement.RETURN_GENERATED_KEYS标识一下,然后通过getGeneratedKeys方法获得 preparedStatement ...

随机推荐

  1. ABAP代码编辑器设置--界线

    ABAP编辑器每行允许的最大字符数: Utilities->Settings打开选项卡: 勾选:Downward-Compat.line Length(72) 设置后看到的效果: 设置步骤:

  2. linux -- nano

    今天在git commit的时候碰到了一种编辑方式 -- 不会用 T.T,然后找了下相关的文档. ^G -- ctrl+g 帮助文档 ^O -- ctrl+o 写出,会出现下面的一行提示,是否保存,直 ...

  3. [翻译]lithium介绍

    什么是li3? 首创框架 li3 是第一个并且是唯一一个从PHP 5.3+建立起来的相当出色的php框架,而且破天荒的第一次引入全新技术,包括通过一组唯一,统一的api(接口)在关系型(relatio ...

  4. Mifare系列2-非接触卡标准(转)

    本文转自 文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/380799 根据信号发送和接收方式的不同,ISO/IEC14443-3定 ...

  5. Javascript学习笔记:闭包题解(4)

    代码: var val1=0; var val2=0; var val3=0; for(var i1=1;i1<=3;i1++){ var i2=i1; (function(){ var i3= ...

  6. .NET4.5 WFP中用WebBrowser获取/操作网页html代码

    引言 想给自己之前写的网页小说爬虫程序更新换代,之前一直是用winform的形式写的程序,因此这一次更新打算把UI换成WPF(因为听说WPF很漂亮),顺便也以此引入WPF的学习. 那么作为网页爬虫程序 ...

  7. php : 配置

    一. php: undefined function mysql_connect()  mac 上操作 一.有可能是因为版本不同而引起的 PHP5中使用mysql_connect()函数进行连接.但P ...

  8. Qt qmake 使用(含遗留问题)

    网上在介绍编译Qt的教程中,大多数都是这样提到编译的: 1, 运行 VS2012 x86 Native Tools Command Prompt 批处理 2, cd <install qt5.0 ...

  9. 用SignalR实现的共享画板例子

    使用HTML5的canvas画布功能,在页面进行绘画,然后通过SignalR将画布的每个点的颜色提交到服务端,服务端同时将这些画布的信息推送到其他客户端,实现共享同一个画板的功能 类似下图,在某一个浏 ...

  10. windows下如何安装和启动MySQL

    1.下载,解压到自己喜欢的目录 2.配置环境变量.MYSQL_HOME,值为mysql的根目录:在path中添加%MYSQL_HOME%/bin目录. 3.向windows注册mysql服务.必须用管 ...