我如何返回一个MongoDB数组的单个元素


How do I return a single element of a MongoDB array?

我想返回一个Mongodb数组的单个元素。我从表单中获取用户名和密码,并使用findOne()函数来验证它在数据库中的存在。

$user = $collection->findOne(array(
    'username' => $username,
    'password' => $password,
 ));

返回的数组中也有邮政编码。我想将数组的元素存储在一个变量中,以便与另一个变量连接。

<?php
$user = $collection->findOne(array(
    'username' => $username,
    'password' => $password,
     ));
var_dump($user);  // you will see your document as a PHP associative array here 
$myPin = $user['pincode_keyname']; // or whatever name your pincode element has
?>

您不需要an来返回所有这些信息。正如我所理解的,你所需要的只是一个pin码,所以你的查询应该是这样的

$user = $collection->findOne(
  array(
    'username' => $username,
    'password' => $password,
  ),
  array(
    'pincode'  => 1,
    '_id'      => 0
  )
)

;

$user['pincode']将是您需要的pin码。第二个数组确保您将不会收到除pincode

之外的任何其他不重要的信息。