Как мне вернуть один элемент массива MongoDB? - PullRequest
1 голос
/ 12 декабря 2011

Я хотел бы вернуть один элемент массива Mongodb. Я беру имя пользователя и пароль из формы и использую функцию findOne(), чтобы убедиться, что она существует в базе данных.

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

В массиве, который он возвращает, также есть почтовый индекс. Я хотел бы сохранить этот элемент массива в переменной, чтобы объединить его с другой переменной.

Ответы [ 2 ]

1 голос
/ 12 декабря 2011
<?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

?>
0 голосов
/ 12 декабря 2011

Вам не нужно возвращать всю эту информацию. Как я понял, все, что вам нужно, это пин-код, поэтому ваш запрос должен быть таким:

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

;

$ user ['pincode'] будет нужным вам пин-кодом. второй массив гарантирует, что вы не получите никакой дополнительной и неважной информации, кроме пин-кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...