mongodb高级查询
admin
2023-05-29 01:20:04
0

  MongoDB 的逻辑结构是一种层次结构。主要由文档(document)、集合(collection)、数据库(database)这三部分组成的。逻辑结构是面向用户的用户使用MongoDB 开发应用程序使用的就是逻辑结构。

  MongoDB 的文档document相当于关系数据库中的一行记录。

  多个文档组成一个集合collection相当于关系数据库的表。

  多个集合collection逻辑上组织在一起就是数据库database。

  一个MongoDB 实例支持多个数据库database。

mongodb条件查询

   db.collection.find({"field":{$gt:value}}) //大于

   db.collection.find({ "field" : { $lt: value } } ); // 小于: field < value

   db.collection.find({ "field" : { $gte: value } } ); // 大于等于: field >= value

   db.collection.find({ "field" : { $lte: value } } ); // 小于等于: field <= value

   如果要同时满足多个条件可以这样做

    db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 < field < value

   

    $all匹配所有 必须满足[ ]内的所有值例如:

    db.users.find({age : {$all : [6, 8]}});

    可以查询出 {name: 'David', age: 26, age: [ 6, 8, 9 ] }

    但查询不出 {name: 'David', age: 26, age: [ 6, 7, 9 ] }


    $exists判断字段是否存在

    查询所有存在age 字段的记录

    db.users.find({age: {$exists: true}});

    查询所有不存在name 字段的记录

    db.users.find({name: {$exists: false}});

    

    $ne不等于

    查询x 的值不等于3 的数据

    db.things.find( { x : { $ne : 3 } } );


    $in包含

    查询x 的值在2,4,6 范围内的数据

    db.things.find({x:{$in: [2,4,6]}});

  

    $nin不包含

   查询x 的值在2,4,6 范围外的数据

    db.things.find({x:{$nin: [2,4,6]}});

 

    $size数组元素个数

    对于{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] }记录

    匹配db.users.find({favorite_number: {$size: 3}});

    不匹配db.users.find({favorite_number: {$size: 2}});

 

    正则表达式匹配

    查询不匹配name=B*带头的记录

    db.users.find({name: {$not: /^B.*/}});


    skip限制返回记录的起点

    从第3 条记录开始返回5 条记录(limit 3, 5)

    db.users.find().skip(3).limit(5);


    sort排序

    以年龄升序asc

    db.users.find().sort({age: 1});

    以年龄降序desc

    db.users.find().sort({age: -1});


相关内容

热门资讯

与郑丽文同台仅几分钟,李四川解... 国民党籍新北市长参选人李四川21日赴新北参加“力挺李四川团结大会”与国民党主席郑丽文仅同台寥寥数分钟...
AI研发迈向团队作战,国内首个... 人工智能正在各领域研发环节实现颠覆性变革。今后,AI将不再是程序员的“副驾驶”,还可能是企业研发团队...
东莞智数集团与华为签署“鸿蒙之... 5月20日,东莞市人工智能与数字经济集团有限公司(以下简称“智数集团”)与华为技术有限公司(以下简称...
刚刚,谢赛宁团队放出第二代表征... 来源:市场资讯 (来源:机器之心Pro) 编辑|Panda AI 图像生成通常遵循「能力越强、代价...
山寨学术会议被打假后,仍有高校... 澎湃新闻记者 钟煜豪近日,所谓的“第十二届人文学科和社会科学研究国际学术会议(ICHSSR 2026...
以后用AI就像交话费?三大运营... 当前,随着人工智能技术快速迭代,智能体、大模型应用蓬勃发展,我国词元调用量呈爆发式增长。近期,中国移...
中国团队提出AccLock方案... 5 月 21 日消息,来自中国苏州大学、北京大学的科研团队于 5 月 12 日在 arxiv 上发表...
重新定义信号与频谱分析仪:罗德... 全球测试测量专家罗德与施瓦茨(以下简称“R&S”)宣布,将于6月23日举办 “新一代多通道信号与频谱...
美媒:伊朗军方重建速度远超预期 据美国有线电视新闻网(CNN)报道,两名熟悉美国情报评估的消息人士透露,伊朗已在今年4月初开始的六周...
泰国取消60天免签,是想防着谁... 【文/观察者网专栏作者 岳汉】最近,泰国缩短免签这个事,在国内还引起了挺大关注。很多中国朋友都不解:...