Черновик по основным запросам 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);