Я очень долго работал над попыткой выправить это, но я просто не могу найти, где моя проблема. Я пытаюсь добавить запись в PHP в моем Монго DB (Это settup уже, и я испытал образец кода, чтобы убедиться, что он работает)MongoDB не добавляет записей
код для добавления записи выглядит следующим образом:
// add a record
$obj = array("title" => "Calvin and Hobbes", "author" => "Bill Watterson");
$collection->insert($obj);
Мой код для добавления записи:
$obj = array($currentarray[0][$currentCol] => $currentarray[$currentRow][$currentCol]);
$collection->insert($obj);
Если я print_r объект:
Array ([President ] => George Washington) Array ([Wikipedia Entry] => http://en.wikipedia.org/wiki/George_Washington) Array ([Took office ] => 30/04/1789) Array ([Left office ] => 4/03/1797) Array ([Party ] => Independent) Array ([Portrait] => GeorgeWashington.jpg) Array ([Thumbnail] => thmb_GeorgeWashington.jpg) Array ([Home State] => Virginia)
B ут, если я искать, скажем, «Портрет», я получаю сообщение об ошибке:
DB Notice: Undefined index: Portrait in /home/me/public_html/yes.php on line 74
Дополнительный код:
// connect
$m = new Mongo();
// select a database
$db = $m->data;
// select a collection (analogous to a relational database's table)
$collection = $db->test;
do{
while(comparison statement){
$obj = array($currentarray[0][$currentCol] => $currentarray[$currentRow][$currentCol]);
$collection->insert($obj);
}
} while (comparison statement);
// find everything in the collection
$cursor = $collection->find();
// iterate through the results
foreach ($cursor as $obj) {
echo $obj["Party "] . "\n";
}
Есть ли запись в базе данных? Вы можете проверить, что с помощью клиента MongDB с именем 'mongo' –
Можете ли вы уточнить? Я очень новичок в php и MongoDB, и мне только удалось пройти, посмотрев документацию. – EGHDK
Попробуйте запустить оболочку MongoDB: 'путь/to/mongodb/bin/mongo' Он подключается к серверу, если он работает на одном компьютере и слушает порт 1527 (я думаю). I Ваш сервер не находится на одной машине или не слушает другой порт, вам нужно использовать некоторые параметры при запуске оболочки. Теперь, если у вас есть соединение, вы можете запросить данные в базе данных. Сначала вам нужно выбрать базу данных с помощью 'use'-stmt. А затем введите 'db.mycollection.find()', чтобы получить список всех ваших записей. Напишите 'help', чтобы получить список утверждений больше. –