SQL 到 Mongo 的对应表

这个列表是 PHP 版本的 » SQL to Mongo 对应表(在MongoDB官方手册中有更加通用的版本)。

SQL查询语句Mongo查询语句
CREATE TABLE USERS (a Number, b Number)隐式的创建,或 MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1)$db->users->insert(array("a" => 1, "b" => 1));
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));
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 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 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/")));
SELECT * FROM users WHERE age>33 AND age<=40$db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));
SELECT * FROM users ORDER BY name DESC$db->users->find()->sort(array("name" => -1));
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));
SELECT * FROM users WHERE a=1 and b='q'$db->users->find(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 20, 10$db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2$db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users LIMIT 1$db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3$db->users->find(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users$db->command(array("distinct" => "users", "key" => "last_name"));
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();
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)));
DELETE FROM users WHERE z="abc"$db->users->remove(array("z" => "abc"));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值