在PHP中如何检索mongoDB文档的文档内容?

时间:2016-03-12 16:00:16

标签: php mongodb

我有以下脚本:

<?php

   // connect to mongodb
   $m = new MongoClient();

   // select a database
   $db = $m->myDB;
   $collection = $db->users;

   $cursor = $collection->find();

   //echo $cursor["Login"];

?>

我想显示&#34;登录&#34;的值来自收集&#34;用户&#34;,但我尝试过的(echo $cursor["Login"]没有工作),任何想法?

p.s:我不想使用foreach声明

2 个答案:

答案 0 :(得分:1)

尝试print_r($cursor)并查看会发生什么,可能$cursor不是数组

答案 1 :(得分:1)

您正在尝试无条件地检索记录。很明显,您的集合users中存在的任何数量的记录都将在此处检索。现在,当您使用find()函数时,您无法通过echo直接获取值,因为它是对象(记录)的集合。

您可以使用foreach循环来迭代&amp;从你现在不想要的每条记录中获取登录值,或者你可以使用findOne()数组里面的条件以关联方式检索特定记录。

注意:您无法直接回显$cursor

说明findOne()

格式:     $cursor = $collection->findOne(array('key' => 'value'));

您可以在数组中包含多个条件。

$cursor = $collection->findOne(array('login' => 'someemail@example.com'));

或者

$cursor = $collection->findOne(array('login' => 'someemail@example.com','password' => 'some_password'));

请注意,findOne可以为您提供与数组中提到的条件匹配的单个记录。