S'il vous plaît noter, "user_id" dans ma collection plans
n'est pas un object_id. Je l'ai stocké dans la collection plans
pour référencer le _id de l'utilisateur dans la collection user_accounts
. J'ai pensé à stocker les noms d'utilisateur dans toutes les collections afin de référencer l'utilisateur, mais ce ne serait pas une idée si l'utilisateur souhaite changer son nom d'utilisateur.Comment extraire l'identifiant d'objet dans mongodb et y chercher?
// Retrieve User ID
$query = array("username" => $user_id);
$fields = array("_id");
$user = $collection_user->findOne($query, $fields);
// Retrieve plans made by user
$query = array("user_id" => $user['_id']);
$fields = array("plan_title");
$data = $collection_plans->find($query, $fields);
Si je hardcode le _id dans la requête, il fonctionne bien comme suit:
// Retrieve plans made by user
$query = array("user_id" => "4cc1790f6c0d49bf9424fc73");
$fields = array("plan_title");
$data = $collection_plans->find($query, $fields);
Avez-vous essayé var_dump ($ user) pour vous assurer que $ user ['_ id'] existe réellement? – mellowsoon