最近学习MongoDB数据库基本开发知识,发现MongoDB的排除查$ne类似于Oracle的not in 或者not exists,

但是$ne只能对字符串键值对起作用而对数字类型不行,举例如下:

示例数据:

> dvd=({"Type":"DVD","Title":"Matrix,The","Released":1999,"Cast":["Keanu Reeeves","Carrie-Anne Moss","Laurence Fishburne","Hugo Weaving","Gloria Foster","Joe Pantoliano"]})
{
"Type" : "DVD",
"Title" : "Matrix,The",
"Released" : 1999,
"Cast" : [
"Keanu Reeeves",
"Carrie-Anne Moss",
"Laurence Fishburne",
"Hugo Weaving",
"Gloria Foster",
"Joe Pantoliano"
]
}
> db.media.insert(dvd)
WriteResult({ "nInserted" : 1 })
> dvd=({"Type":"DVD","Title":"Blade Runner","Released":1982})
{ "Type" : "DVD", "Title" : "Blade Runner", "Released" : 1982 }
> db.media.insert(dvd)
WriteResult({ "nInserted" : 1 })
> dvd=({"Type":"DVD","Title":"Toy Story 3","Released":2010})
{ "Type" : "DVD", "Title" : "Toy Story 3", "Released" : 2010 }
> db.media.insert(dvd)
WriteResult({ "nInserted" : 1 })
>

正常的字符串排除查询,以示例数据中Title键进行测试:

> db.media.find({"Type":"DVD","Title":{$ne:"Blade Runner"}})
{ "_id" : ObjectId("595af5ce39297105e4322fbd"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1999, "Cast" : [ "Keanu Reeeves", "Carrie-Anne Moss", "Laurence Fishburne", "Hugo Weaving", "Gloria Foster", "Joe Pantoliano" ] }
{ "_id" : ObjectId("595af63239297105e4322fbf"), "Type" : "DVD", "Title" : "Toy Story 3", "Released" : 2010 }
>
对数字排除无效,以示例数据中Released键进行测试:
> db.media.find({"Type":"DVD","Release":{$ne:"1999"}})
{ "_id" : ObjectId("595af5ce39297105e4322fbd"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1999, "Cast" : [ "Keanu Reeeves", "Carrie-Anne Moss", "Laurence Fishburne", "Hugo Weaving", "Gloria Foster", "Joe Pantoliano" ] }
{ "_id" : ObjectId("595af61939297105e4322fbe"), "Type" : "DVD", "Title" : "Blade Runner", "Released" : 1982 }
{ "_id" : ObjectId("595af63239297105e4322fbf"), "Type" : "DVD", "Title" : "Toy Story 3", "Released" : 2010 }
>
> db.media.find({"Type":"DVD","Release":{$ne:1999}})
{ "_id" : ObjectId("595af5ce39297105e4322fbd"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1999, "Cast" : [ "Keanu Reeeves", "Carrie-Anne Moss", "Laurence Fishburne", "Hugo Weaving", "Gloria Foster", "Joe Pantoliano" ] }
{ "_id" : ObjectId("595af61939297105e4322fbe"), "Type" : "DVD", "Title" : "Blade Runner", "Released" : 1982 }
{ "_id" : ObjectId("595af63239297105e4322fbf"), "Type" : "DVD", "Title" : "Toy Story 3", "Released" : 2010 }
>
实验结果:mongodb的$ne操作只能对字符串键值对发挥作用。
本次实验的MongoDB数据库版本是:3.2.7
操作系统是:Red Hat Enterprise Linux Server release 6.4 (Santiago)

MongoDB的排除查询$ne缺陷相关推荐

  1. mongodb多条件查询

    前言 模糊查询是数据库的基本操作之一,实现对给定的字符串是否与指定的模式进行匹配.如果字符完全匹配,可以用=等号表示,如果部分匹配可认为是一种模糊查询.在关系型数据中,通过SQL使用like '%fe ...

  2. mongodb高级聚合查询

    在工作中会经常遇到一些mongodb的聚合操作,特此总结下.mongo存储的可以是复杂类型,比如数组.对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysql复杂很多. 注:本文基于 mo ...

  3. 【Mongo】MongoDB文档查询

    系列文章索引: [Mongo]初步认识MongoDB shell [Mongo]MongoDB文档的增删改操作 数据查询 find()方法 方法说明 find()方法没有参数时会匹配集合中的所有内容, ...

  4. mongo go 查询指定字段_Go语言 操作MongoDB数据库批量查询

    数据操作是编程中避免不了的操作,这也就牵扯到了数据库的增删改查,而实际工作中我们最常用到的是增改查.今天要介绍的是Go 语言查询MongoDB数据库. 操作mongodb使用的包是"http ...

  5. php7 mongodb 分组 排序 查询

    $manager = new Manager('mongodb://ip:sort');$param = ['aggregate' => 'collection名称','pipeline' =& ...

  6. MongoDB 进阶-关联查询

    [苏州需要工作的加我QQ,内推介绍费平分] MongoDB 进阶 1.数据库命令 a.命令的工作原理 drop命令,在shell中删除一个集合,执行db.refactor.drop().其实这个函数实 ...

  7. MongoDB数据库(5.mongodb的聚合操作以及mongodb的高级查询2)

    聚合aggregate 聚合(aggregate) 是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage) 组成的管道,可以对每个阶段的  管道进行分组.过滤等功能,然后经过一系列的处理, ...

  8. MongoDB 里面日期查询的问题

    http://www.v2ex.com/t/80624 问题: 原生控制台查不到结果,用Java驱动可以.MongoDB shell version: 2.4.6 具体情况是: DB:ecommerc ...

  9. 前端学习(1337):mongoDB文档查询

    const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/playground', { useUnifie ...

最新文章

  1. 2013年2月28日星期四
  2. Linux(16)-Vim编辑器的使用
  3. Android学习笔记(二)基础知识(1)
  4. Vue 进阶系列(一)之响应式原理及实现
  5. 音乐计算机官方.,Boom音乐电脑版
  6. 【渝粤教育】国家开放大学2018年秋季 2115T人体解剖学与组织胚胎学 参考试题
  7. 《.NET WEB服务》 (二)
  8. sohutv cachecloud启动
  9. kafka集群搭建详细步骤
  10. ASTC textures
  11. APISpace 行驶证OCR API
  12. less和css的区别是什么
  13. 听说昨天朋友圈炸开了锅???
  14. 做SEO优化的目的到底是什么
  15. 2019年6款最佳的wordpress主机推荐(优缺点分析)
  16. 简历优化实战案例01:工作经历篇
  17. C. Range Increments(差分)
  18. OkHttp3源码分析二 拦截器 上
  19. 如何一日千里 突飞猛进?
  20. 每日一课 | 在Python中获取列表的长度和大小

热门文章

  1. ogg初始化mysql数据_利用OGG进行数据库表的初始化
  2. 高性能数据库集群:分库分表
  3. 剑指offer面试题[37]-两个链表的第一个公共结点
  4. 后端服务接口都在测试什么?怎么测?
  5. QT4C-Windows自动化测试框架正式开源
  6. 2021秋季“金九银十”跳槽必备:软件测试面试题(附带答案)
  7. 计算机科学导论_[计算机科学导论]第一章:计算机学什么
  8. 下降沿触发的jk触发器(带异步复位和置位功能)_边沿触发器 || D触发器 || JK触发器 || 逻辑功能转换 工作特性 || 重难点 || 数电...
  9. 苹果微信更新不了最新版本_微信最新版建议更新!还有一个功能彩蛋!
  10. c语言小车倒车程序,STC12C5A60S2串口演示程序(C语言版)