php7和MongoDB插入并读取数据

php7和MongoDB插入并读取数据

代码如下:

<?php
$manager = new MongoDBDriverManager("mongodb://localhost:27017");  

// 插入数据
$bulk = new MongoDBDriverBulkWrite;
$bulk->insert(['x' => 1, 'name'=>'菜鸟教程', 'url' => 'http://www.runoob.com']);
$bulk->insert(['x' => 2, 'name'=>'Google', 'url' => 'http://www.google.com']);
$bulk->insert(['x' => 3, 'name'=>'taobao', 'url' => 'http://www.taobao.com']);
$manager->executeBulkWrite('test.sites', $bulk);

$filter = ['x' => ['$gt' => 1]];//1
$options = [
    'projection' => ['_id' => 0],
    'sort' => ['x' => -1],
];//2

// 查询数据
$query = new MongoDBDriverQuery($filter, $options);//3
$cursor = $manager->executeQuery('test.sites', $query);//4

foreach ($cursor as $document) {
    print_r($document);
}
?>
  1. 插入条件:x>1;
  2. $project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。此处使得查询结果集只有x, name, url字段,不包含"_id",默认情况下_id字段是被包含的.若想包含只需去掉'projection' => ['_id' => 0]。
  3. MongoDBDriverQuery是一个值对象代表一个数据库查询。
  4. final public MongoDBDriverCursor MongoDBDriverManager::executeQuery ( string $namespace , MongoDBDriverQuery $query [, MongoDBDriverReadPreference $readPreference ] ):在服务器上执行查询。如果提供的是readpreference,它将用于服务器的选择;否则,将使用默认的阅读偏好。在MongoDBDriverQuery 执行后.