php7结合mongoDB插入数据

代码如下:

<?php
$bulk = new MongoDB\Driver\BulkWrite;//1
$document = ['_id' => new MongoDB\BSON\ObjectID, 'name' => '菜鸟教程'];//2 $_id= $bulk->insert($document); var_dump($_id);//3 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); //4
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//5
$result = $manager->executeBulkWrite('test.runoob', $bulk, $writeConcern);//6
?>
  1. MongoDB\Driver\BulkWrite收集一个或多个应该被发送到服务器的写操作,添加任意数量的插入、更新和删除操作后,可以通过MongoDB\Driver\Manager::executeBulkWrite()执行。

  2. 在MongoDB中,每个存储在一个集合中的文档需要一个独特的_id字段作为主键。如果插入的文档,省去了_id领域,驱动程序会自动生成一个对象id为_id场。

    一个ObjectId BSON型。该值由12个字节,其中前四个字节是个时间戳,反映ObjectId的产生时间。具体而言,价值包括: 一个代表秒的Unix纪元自4字节值, 一个3字节机器标识符, 2字节进程ID,和 一个3字节计数器,开始用一个随机值

  3. var_dump能打印出类型。

    print_r只能打出值。

    echo()是正常输出。

   需要精确调试的时候用var_dump();

    一般查看的时候用print_r();

    另外,echo()不能显示数组,其余2个可以......

  1. MongoDB\Driver\Manager是扩展的主要切入点。它负责维护连接到MongoDB(可以是独立服务器,复制集,或分片集群)。
  2. MongoDB\Driver\WriteConcern这个是个对mongodb的写入性能、以及确保数据一致性的控制设置,非常重要的一个类.MongoDB支持的WriteConncern选项如下
  • w: 数据写入到number个节点才向用客户端确认
  • {w: 0} 对客户端的写入不需要发送任何确认,适用于性能要求高,但不关注正确性的场景
  • {w: 1} 默认的writeConcern,数据写入到Primary就向客户端发送确认
  • {w: “majority”} 数据写入到副本集大多数成员后向客户端发送确认,适用于对数据安全性要求比较高的场景,该选项会降低写入性能
  • j: 写入操作的journal持久化后才向客户端确认默认为”{j: false},如果要求Primary写入持久化了才向客户端确认,则指定该选项为true
  • wtimeout: 写入超时时间,仅w的值大于1时有效。
  • 当指定{w: }时,数据需要成功写入number个节点才算成功,如果写入过程中有节点故障,可能导致这个条件一直不能满足,从而一直不能向客户端发送确认结果,针对这种情况,客户端可设置wtimeout选项来指定超时时间,当写入过程持续超过该时间仍未结束,则认为写入失败。
  • 详情请见: http://www.mongoing.com/archives/2916
  1. 见1.
  2. 参考自 :http://php.net/manual/en/book.mongodb.php

php7结合mongoDB插入数据的更多相关文章

  1. php7和MongoDB插入并读取数据

    php7和MongoDB插入并读取数据 代码如下: <?php $manager = new MongoDB\Driver\Manager("mongodb://localhost:2 ...

  2. mongoDB 插入数据 用java实现

    import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; impor ...

  3. mongoDB - 插入数据

    db.use.js /** * 使用前:先安装node环境.express.mongodb. * * 1.1 安装Node * 1.2 npm i -D express mongodb &&a ...

  4. java操作mongodb——插入数据

    在mongodb中,表(Table)被称之为集合(Collection),记录(Record)被称为文档(Document) 首先连接到数据库 MongoClient mongoClient = ne ...

  5. MongoDB插入数据的3种方法

    insert()方法: 下面是在inventory集合中插入一个三个字段的文档: db.inventory.insert( { _id: 10, type: "misc", ite ...

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

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

  7. MongoDB插入数据,除去Class key

    本文来源于: 来源:CSDN 原文:https://blog.csdn.net/ClementAD/article/details/50849680 去除class字段的本质为设置 DefaultMo ...

  8. mongoDB数据库插入数据时报错:db.collection is not a function

    nodejs连接mongodb插入数据时,发现mongoDB报错:db.collection is not a function.解决方法: 1.npm下载mongodb2.x.x版本替换3.x.x ...

  9. Mongodb插入记录

    Mongodb下文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式. BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON. 插入文档 MongoDB ...

随机推荐

  1. 测开之路六十一:接口测试平台之interface蓝图

    create的js //添加header的函数function add_header() { // 这里是动态拼接html语句,带着样式,拼凑成页面的 "key [] value []&qu ...

  2. Python程序打包为可执行文件exe

    Python程序打包为可执行文件exe,pyinstaller应用 山重水复疑无路,柳暗花明又一村. 本来是向老师提交一个python程序,因为第一次所以就很尴尬只把源码给老师了,应该是打包成一个可执 ...

  3. Python笔记(十三)_os模块和os.path模块

    os模块中关于文件/目录常用的函数使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('.'表示当前目录,' ...

  4. mysql的命令入门

    mysql入门实践 学习教程 教程链接地址 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 文 ...

  5. (vue.js)axios interceptors 拦截器中添加headers 属性

    (vue.js)axios interceptors 拦截器中添加headers 属性:http://www.codes51.com/itwd/4282111.html 问题: (vue.js)axi ...

  6. 远程连接SuSE系统的配置方法

    今天,在VMware上搭建了SuSE Linux系统,使用xshell远程进行连接,一直连接不上,后来百度了一下,连接成功,这里总结一下配置的办法: (1):关闭防火墙 (2):配置sshd( Pas ...

  7. 【TWRP】使用adb sideload线刷ROM的方法

    本教程详细介绍 手机刷三方ROM 之前需要安装的 TWRP 这个神器工具 楼主的手机是小米,所以此教程以小米手机为例.其他手机原理类似 第一步,解锁引导程序 访问小米的官方解锁网站并申请解锁权限. 等 ...

  8. centos6中安装RabbitMQ

    一.安装环境步骤需知 第一步 安装erlang环境 第二步 安装RabbitMQ 二.安装erlang环境 1)安装编译环境,和基础依赖包 yum -y install make gcc gcc-c+ ...

  9. 20180223-logging模块

    Python的logging模块提供了标准的日志接口,可以通过它存储各种格式的日志,logging的日志可以依次分为debug().info().warning().error().cirtical( ...

  10. 源码分析--LinkedList(JDK1.8)

    LinkedList与ArrayList一样都是List接口的实现类,底层用双向链表实现. LinkedList本身用一个内部类实现链表元素. private static class Node< ...