Разделы
Теги | RSS © 2008 – 2022
Контакты
email:
skype:
» » nosql

Черновик по основным запросам Mongodb через PHP


Инициализация
try {
        $mongo = new MongoClient("mongodb://localhost:27017/yourtable");
        $db= $mongo->selectDB("yourtable");
        $collection = $db->yourcollection;
} catch (MongoConnectionException $e) {
        die('Error connecting to MongoDB server. ' . $e->getMessage());
} catch (MongoException $e) {
        die('Error: ' . $e->getMessage());
}

http://www.querymongo.com/ - онлайн сервис преобразует sql select в mongo select (если запрос чуть сложнее обычного сразу использует reduce, я же предпочитаю использовать aggregate)

insert($data_insert);
// lastID:  (string)$data_insert['_id'];


// SELECT
$query = array(
        // where
);
$projection = array(
        // return
);
$cursor = $collection->find($query, $projection)
                                        ->skip($start)
                                        ->limit($limit)
                                        ->sort(array('field'=> -1));
foreach ($cursor as $row) {
        echo "
";
        print_r($row);
        echo "
"; } // count $count = $collection->count(); // SELECT_ONE $query = array( // where ); $projection = array( // return ); $row = $collection->findOne($query, $projection); echo "
";
print_r($row);
echo "
"; // UPDATE $criteria = array( // where ); $update = array( // set ); $options = array( // upsert: true, multi: true ); $collection->update($criteria, $update, $options); // DELETE $query = array( // where ); $options = array ( 'justOne' => true ); $cursor = $collection->remove($query, $options); // COMPLEX SELECT $data = $collection->aggregate( array( '$match' => array( // where ) ), array( '$project' => array( // manipulate fields ) ), array( '$group' => array( // group ) ), array( '$skip' => array( // skip ) ), array( '$limit' => array( // limit ) ), array( '$sort' => array( // sort ) ) ); // print_r($data);
Вверх