2014-10-29 7 views
0

Привет, ребята, поэтому я перехожу из MySQL в MongoDB, так как мой сервер работает намного эффективнее. Мне нужно обновить одну из моих страниц, я выяснил большую часть кода, и я не получаю ошибок в базе данных. Я считаю, что я просто не помещал данные в правильном порядке. Как и при загрузке страницы, контент отсутствует.Mongo DB извлекает данные в таблицу php

Основная информация о базе данных будет содержать несколько массивов, подобных приведенным ниже в тесте базы данных. Я бы хотел, чтобы он вытащил все из них с помощью PENDING NameState в таблицу.

array(
"_id"=>100000005, 
"dclass"=>"Distributed", 
"fields"=>array(
    "Name"=>array(
     "_0"=>"Testing", 
    ), 
    "NameState"=>array(
     "_0"=>"PENDING", 
    ), 
    'setName': { 
     '_0': 'test name' 

Вот мой запрос к базе данных $ м определяется с моим подключением к базе данных

$search = $m->fields->(array('NameState'=>'PENDING')); 

Тогда вот мой стол, где я хочу идентификатор, чтобы показать, текущий SetName И имя.

foreach ($SEARCH as $row) { 
       echo "<tr>"; 
       $ID = $row['_id']; 
       echo "<td>" . $row['_id'] . "</td>"; 
       echo "<td>" . $row['SetName'] . "</td>"; 
       echo "<td>" . $row['Name'] . "</td>"; 
       $NAME = $row['Name'] . "</td"; 
       echo "</tr>"; 

Спасибо в продвинутом виде.

ответ

0

Если это точный формат ваших данных, проблема в том, что это не формат JSON. Ваш контент должен быть в формате JSON, а не в любой произвольной строке. я добавил два документа в коллекции под названием 'Testdata'

> db.testData.find() 
{ "_id" : 100000005, "dclass" : "Distributed", "fields" : { "Name" : "Testing", "NameState" : "PENDING" } } 
{ "_id" : 100000006, "dclass" : "Distributed", "fields" : { "Name" : "Testing Excluded", "NameState" : "NOT PENDING" } } 

В PHP мой запрос, как это,

$m = new \MongoClient(); 
$collection = $m->selectCollection('mydb', 'testData'); 
$list = $collection->find(); 

$query = array('fields.NameState' => 'PENDING'); 

$cursor = $collection->find($query); 
foreach ($cursor as $doc) { 
    var_dump($doc); 
} 

Результат:

array(3) { ["_id"]=> float(100000005) ["dclass"]=> string(11) "Distributed" ["fields"]=> array(2) { ["Name"]=> string(7) "Testing" ["NameState"]=> string(7) "PENDING" } } 
+0

Если вы можете предоставить мне пример Я должен быть достаточно приличным, чтобы исследовать остальное самостоятельно. Спасибо, Райан – Ryan

Смежные вопросы