mongodb 2php 操作
1連接
?
db.getCollection('test').find({})
?
// 連接Mongo數據庫 ? 數據庫地址:端口/賬號:密碼;
$mongo = new Mongo('mongodb://localhost:27017/admin:admin');
$this->link = new \MongoClient('mongodb://user:password@host:port/dbname);
?
// 選擇一個數據庫和要操作的集(如果沒有數據庫默認創建)
$collection = $mongo->selectDB('rrs_result')->selectCollection('content');
2添加
<?php
$content = array(
? ? 'title'=>'葉子-吳佰清',
? ? 'author'=>'吳佰清',
? ? 'url'=>'http://www.cnblogs.com/wubaiqing/archive/2011/09/17/2179870.html',
);
$collection->insert($ );
?
?
?
2查詢
查詢所有數據:
?
$result = $col->findOne($condition, $fields);
?
?
<?php
$rows = $collection->find();
?
foreach ($rows as $key => $val)
{
? ? var_dump($val);
}
?>
?
{
? ? "_id" : ObjectId("5a163546b845c5d0888269bf”),對象
? ? "title" : "葉子-吳佰清",
? ? "author" : "authoaar"
}
?
?
SELECT a,b FROM users ? 等于? ? ||$db->users->find(array()條件,字段array("a" => 1, "b" => 1));
SELECT * FROM users WHERE age=33 ? || $db->users->find(條件array("age" => 33));
SELECT a,b FROM users WHERE age=33 ? ||$db->users->find(條件array("age" => 33),字段 array("a" => 1, "b" => 1));
and
SELECT * FROM users WHERE a=1 and b='q' ? ? ||? $db->users->find(array("a" => 1, "b" => "q"));
order
SELECT * FROM users WHERE a=1 or b=2 ||$db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
limit
SELECT * FROM users LIMIT 1 ||$db->users->find()->limit(1);
?
?
排序
SELECT a,b FROM users WHERE age=33 ORDER BY name ? ? || ? $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array(排序"name" => 1));
SELECT * FROM users ORDER BY name DESC ? ||? $db->users->find()->sort(array("name" => -1));
?
大于小于
SELECT * FROM users WHERE age>33 || $db->users->find(array("age" => array('$gt' => 33))); ? 大于
SELECT * FROM users WHERE age<33 || $db->users->find(array("age" => array('$lt' => 33)));
SELECT * FROM users WHERE age>33 AND age<=40 $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));
?
like
SELECT * FROM users WHERE name LIKE "%Joe%" ||? $db->users->find(array("name" => new MongoRegex("/Joe/")));
SELECT * FROM users WHERE name LIKE "Joe%" ||? $db->users->find(array("name" => new MongoRegex("/^Joe/")));
?
distinct
SELECT DISTINCT last_name FROM users $db->command(array("distinct" => "users", "key" => "last_name"));
count
SELECT COUNT(*y) FROM users $db->users->count();
?
SELECT COUNT(*y) FROM users where AGE > 30 $db->users->find(array("age" => array('$gt' => 30)))->count();
?
SELECT COUNT(AGE) from users $db->users->find(array("age" => array('$exists' => true)))->count();
?
?
3
更改數據:
?
<?php
$where = array('title'=>'葉子-吳佰清');
$set = array('title'=>'葉子');
?
$collection->update($where,array(
? ? '$set'=>$set,
));
?>
?
UPDATE users SET a=1 WHERE b='q' $db->users->update(array("b" => "q"), array('$set' => array("a" => 1)));
UPDATE users SET a=a+2 WHERE b='q' $db->users->update(array("b" => "q"), array('$inc => array("a" => 2)));
?
4
<?php
$collection->remove(array(
? ? 'title'=>'葉子',
));
?>
?
DELETE FROM users WHERE z="abc" $db->users->remove(array("z" => "abc"));
?
?
?
4創建索引
? CREATE INDEX myindexname ON users(name) ||? $db->users->ensureIndex(array("name" => 1));
CREATE INDEX myindexname ON users(name,ts DESC) ||? $db->users->ensureIndex(array("name" => 1, "ts" => -1));
?
4explain顯示了mysql如何使用索引來處理select語句以及連接表。可以幫助選擇更好的索引和寫出更優化的查詢語句。
EXPLAIN SELECT * FROM users WHERE z=3 $db->users->find(array("z" => 3))->explain()
?
?
?
?
?
?
?
?
待解決
1update
$result = $col->update($condition,$data,$option);第三個參數是什么
?
$options = array(
? ? 'upsert' => false,
? ? 'multiple' => true,
);
?
?
?
?
?
?
?
?
?
4
$result = $col->aggregate($pipeline);
?
?
轉載于:https://www.cnblogs.com/keiweila/p/7884036.html
總結
以上是生活随笔為你收集整理的mongodb 2php 操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: imx6 android8流畅,NXP
- 下一篇: php 坏了怎么修复,winload.e