• 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"));


     
     
     
  • 相关阅读:
    使用FolderBrowserDialog组件选择文件夹
    使用OpenFileDialog组件打开多个文
    使用OpenFileDialog组件打开对话框
    获取弹出对话框的相关返回值
    PAT 甲级 1139 First Contact (30 分)
    PAT 甲级 1139 First Contact (30 分)
    PAT 甲级 1138 Postorder Traversal (25 分)
    PAT 甲级 1138 Postorder Traversal (25 分)
    PAT 甲级 1137 Final Grading (25 分)
    PAT 甲级 1137 Final Grading (25 分)
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3373668.html
Copyright © 2020-2023  润新知