`
libao400
  • 浏览: 8193 次
文章分类
社区版块
存档分类
最新评论

mongo操作

 
阅读更多
find方法

db.collection_name.find();



查询所有的结果:

select * from users;

db.users.find();

指定返回那些列(键):

select name, skills from users;

db.users.find({}, {'name' : 1, 'skills' : 1});

补充说明: 第一个{} 放where条件 第二个{} 指定那些列显示和不显示 (0表示不显示 1表示显示)

where条件:

1.简单的等于:

select name, age, skills from users where name = 'hurry';


db.users.find({'name' : 'hurry'},{'name' : 1, 'age' : 1, 'skills' : 1});

2.使用and


select name, age, skills from users where name = 'hurry' and age = 18;


db.users.find({'name' : 'hurry', 'age' : 18},{'name' : 1, 'age' : 1, 'skills' : 1});

3.使用or



select name, age, skills from users where name = 'hurry' or age = 18;


db.users.find({ '$or' : [{'name' : 'hurry'}, {'age' : 18}] },{'name' : 1, 'age' : 1, 'skills' : 1});

4.<, <=, >, >= ($lt, $lte, $gt, $gte )

select * from users where age >= 20 and age <= 30;

db.users.find({'age' : {'$gte' : 20, '$lte' : 30}});

5.使用in, not in ($in, $nin)

select * from users where age in (10, 22, 26);

db.users.find({'age' : {'$in' : [10, 22, 26]}});

6.匹配null

select * from users where age is null;

db.users.find({'age' : null);

7.like (mongoDB 支持正则表达式)

select * from users where name like "%hurry%";

db.users.find({name:/hurry/});

select * from users where name like "hurry%";



db.users.find({name:/^hurry/});

8.使用distinct

select distinct (name) from users;

db.users.distinct('name');

9.使用count

select count(*) from users;

db.users.count();



10.数组查询 (mongoDB自己特有的)

如果skills是 ['java','python']

db.users.find({'skills' : 'java'}); 该语句可以匹配成功

$all

db.users.find({'skills' : {'$all' : ['java','python']}}) skills中必须同时包含java 和 python

$size

db.users.find({'skills' : {'$size' : 2}}) 遗憾的是$size不能与$lt等组合使用

$slice

db.users.find({'skills' : {'$slice : [1,1]}})

两个参数分别是偏移量和返回的数量

11.查询内嵌文档




12.强大的$where查询

db.foo.find();                  
{ "_id" : ObjectId("4e17ce0ac39f1afe0ba78ce4"), "a" : 1, "b" : 3, "c" : 10 }
{ "_id" : ObjectId("4e17ce13c39f1afe0ba78ce5"), "a" : 1, "b" : 6, "c" : 6 }

如果要查询 b = c 的文档怎么办?

> db.foo.find({"$where":function(){

    for(var current in this){
        for(var other in this){
            if(current != other && this[current] == this[other]){
                return true;   
            }
        }
    }
    return false;

}});



{ "_id" : ObjectId("4e17ce13c39f1afe0ba78ce5"), "a" : 1, "b" : 6, "c" : 6 }
分享到:
评论

相关推荐

    robot mongo操作手册

    MongoDB是一种流行的开源、文档型数据库,以JSON格式存储数据,具有灵活性和高可扩展性。作为NoSQL数据库的一种,它...这个"robot mongo操作手册"将是你探索MongoDB世界的得力助手,帮助你快速上手并精通MongoDB操作。

    java针对mongo操作的封装,完全面向对象,无需修改,可直接使用

    完全面向对象的mongo封装,maven工程源码,可直接install导出jar包引用,支持基本的增删改查和分页等,使用反射对javaBean实体进行映射,所有方法参数只需要传javaBean就行了,支持带密码连接,即拿即用,无需修改。

    mongo操作最佳实践

    一个关于mongodb最佳操作的ppt,内容不错

    .net平台(C#)MongoDB最新版操作类

    .net平台(C#)MongoDB最新版操作类 MongoDB操作类源码包括添加、修改、删除和查询(包括分页)等同步及异步操作类完整的代码。 本项目是以最新版的MVC结合MongoDB呈现,对MongoDB有兴趣的朋友很有参考价值。 可以...

    mongo基础操作命令

    mongo基础操作命令,增删改查等基础命令。mongo基础操作命令,增删改查等基础命令。

    重新封装了下node-mongo服务.zip

    # mongo.js 封装了一些基本的node对mongo操作 # 使用方法,直接node servicemongo.js 就行,也可以在另一个项目里调用servicemongo的start # 注意 如果node包不能用,看下错误日志,缺什么就直接npm i XXX 装上就好

    阿里mongo同步工具mongo-shake

    7. **易用性**:作为阿里云的产品,mongo-shake的使用门槛相对较低,提供了清晰的命令行接口和配置选项,使得操作简单直观。 在使用mongo-shake之前,你需要确保源和目标MongoDB实例的版本兼容,同时,由于它依赖于...

    使用MyBatisPlus的方式,优雅的操作MongoDB,可和现有Mongo框架结合使用,无侵入性

    使用MyBatisPlus的方式,优雅的操作MongoDB,可和现有Mongo框架结合使用,无侵入性 简化开发, 只需简单配置,即可快速进行CRUD操作,链式调用更加便捷。只做增强不做改变,引入它不会对现有工程产生影响,如丝般...

    MongoVUE-Installer

    MongoVUE是一款强大的MongoDB数据库管理系统,专为简化MongoDB的可视化操作而设计。它提供了一个直观的图形用户界面(GUI),使得数据库的管理和数据操作变得更加便捷,尤其适合那些不熟悉命令行界面或者希望提高...

    mongo本地操作连接工具

    本文将详细介绍"mongo本地操作连接工具"——Robo 3T(原名Robomongo),以及如何使用它来连接和管理MongoDB数据库。 Robo 3T是一款轻量级、跨平台的MongoDB管理工具,支持Windows、Mac OS X和Linux操作系统。它的...

    MongoVUE绿色版

    MongoVUE是一款专为Windows操作系统设计的MongoDB客户端工具,旨在提供一个直观且功能丰富的图形用户界面(GUI),使得数据库的管理和操作更为便捷。MongoDB是一种流行的开源、文档型的NoSQL数据库系统,广泛应用于...

    操作数据库MongoVUE

    MongoVUE是一个创新的MongoDB桌面应用Windows操作系统,给你一个优雅的、高度可用的GUI界面来使用MongoDB。现在有一个更少的担心在管理你的网络数据。 MongoVUE使其成为一个非常简单的看到并可视化数据。

    mongoTemplate工具类Dao层方法封装.zip

    MongoTemplate是Spring Data MongoDB框架中的一个核心组件,用于在Java应用中方便地操作MongoDB数据库。这个资源包“mongoTemplate工具类Dao层方法封装.zip”显然提供了两种版本的MongoTemplate操作集合的代码示例,...

    mongo_plugin.zip

    3. CRUD操作:Mongo4idea提供了丰富的操作界面,使得创建、更新、读取和删除(CRUD)数据变得直观且高效。用户可以直接在界面上编写和执行MongoDB查询语句,如`find()`, `update()`, `insert()`, 和 `delete()`。 4...

    mongo-cxx-driver

    MongoDB是一款流行的、基于文档的NoSQL数据库,而`mongo-cxx-driver`则是MongoDB官方支持的C++接口,它提供了丰富的API来执行查询、插入、更新和删除等操作。 ### 一、MongoDB概述 MongoDB以其灵活性、高性能和易于...

    MongoVUE,MongoDB客户端

    MongoVUE是一款专为MongoDB数据库设计的图形用户界面(GUI)工具,它极大地简化了数据库的管理和操作过程。MongoDB是一种流行的NoSQL数据库系统,以其高性能、高可用性和灵活性而受到开发者的青睐。MongoVUE作为...

    mongovue-installer

    MongoVUE是一款专为Windows操作系统设计的MongoDB数据库管理工具,它提供了直观的图形用户界面,使得MongoDB的管理和操作变得更加便捷。MongoDB是一个流行的开源、文档型的NoSQL数据库系统,广泛应用于现代Web应用...

    mongo C语言操作库 1.8

    本篇将深入探讨 "mongo C语言操作库 1.8" 的相关知识点。 1. **C语言驱动概述**: MongoDB C驱动,也称为`mongo-c-driver`,是官方支持的用于在C语言中与MongoDB服务器通信的库。1.8版本是该驱动的一个稳定版本,...

    mongoDB mongoVUE

    MongoVUE则是一款专为MongoDB设计的图形化管理工具,它提供了直观的用户界面,使得数据库的管理和操作变得更加便捷。 MongoVUE的主要功能包括: 1. **连接管理**:MongoVUE允许用户轻松地创建、保存和管理多个...

Global site tag (gtag.js) - Google Analytics