我有以下脚本:
<?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声明
答案 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可以为您提供与数组中提到的条件匹配的单个记录。