zoukankan      html  css  js  c++  java
  • mongodb的查询方式与sql语句对比

    下面是sql和Mongodb对应的一些语法:

     

    SQL StatementMongo Query Language Statement
    CREATE TABLE USERS (a Number, b Number) Implicit or use 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 $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 10 SKIP 20 $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"));


     
     
     
  • 相关阅读:
    ウェブプロジャクトがジャワープロジャクトに参照する方法
    web.xml 中的listener、 filter、servlet 加载顺序及其详解
    财富定律
    jsp文件下载完整方法
    使用Axis开发Web Service程序
    CDH安装指南——酒仙网技术
    linux下 putty 的痛苦编译之路
    博客园
    windows 下 cannal & otter 配置
    Go 1.8 正式发布,编译时间比 Go 1.7 提高约 15%
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3373668.html
Copyright © 2011-2022 走看看