- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用如下插入的数据运行以下查询。无论出于何种原因,值中为 0 的 $ne 似乎都不起作用。我使用 v2.0.4 在 linux 和 mac 上都试过了。还使用 mongo shell 运行了这些。
有人有什么想法吗?这是错误还是我误解了什么?
db.associated.insert({
"diskinfo" : {
"physical" : [
{"merror_count" : "Count: 0"},
{"merror_count" : "Count: 0"},
{"merror_count" : "Count: 0"},
{"merror_count" : "Count: 509"}
]
}})
db.associated.insert({
"diskinfo" : {
"physical" : [
{"merror_count" : "Count: 0"},
{"merror_count" : "Count: 5"},
{"merror_count" : "Count: 0"}
]
}})
db.associated.insert({
"diskinfo" : {
"physical" : [
{"merror_count" : "Count: 0"},
{"merror_count" : "Count: 0"},
{"merror_count" : "Count: 0"}
]
}})
在 mongo shell 上运行这些查询。并在评论中得到了结果
db.associated.find( { "diskinfo.physical.merror_count" : { $ne : 'Count: 0'}}).count()// Result: 0, Expected: 2db.associated.find( { "diskinfo.physical.merror_count" : { $ne : 'Count: 509'}}).count()// Result: 2, Expected: 2db.associated.find( { "diskinfo.physical.merror_count" : { $ne : 'Count: 5'}}).count()// Result: 2, Expected: 2
最佳答案
尽管这是一个老问题,但我认为仍然需要对 $ne 与数组的语义进行一些额外的解释。
众所周知,mongo 的行为具有以下形式的查询
db.collection.find({a:v})
当 a 是一个数组时:它返回所有文档,使得(至少)数组键中的一个元素是 v。在示例中:
db.associated.find({"diskinfo.physical.merror_count" : "Count: 0"}).count()
返回 3,因为数组“diskinfo.physical.merror_count”在集合的三个文档中包含一个值“Count: 0”。
那么,似乎有理由(至少有可能)期待
db.collection.find({a:{$ne:v}})
将返回 a 包含与 v 不同的内容的文档。但是,这不是 Mongo 中的行为。相反,使用 $ne 表示仅选择其数组 a 不包含 v 的那些文档。
这种语义在开始时可能看起来很奇怪,但如果我们以这种方式考虑表达式:
db.collection.find({a:v}).count() + db.collection.find({a:{$ne:v}}).count()
返回集合中元素的总数。因此,在示例中,
db.associated.find({"diskinfo.physical.merror_count" : {$ne: "Count: 0"}}).count()
返回 0,因为数组“diskinfo.physical.merror_count”在集合的 3 个文档中至少包含一次“Count: 0”。
关于mongodb - mongo $ne 查询数组未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10907843/
我正在考虑通过慢速卫星连接创建数据查询 WCF 服务,我真的很喜欢 WCF 数据服务。我看到的问题是 HTTP 是一种非常冗长的格式,由于我所做的一切都是内部和 .NET,是否可以使用 NetTcpB
官方 MongoDB api 对 $ne 写的很少 http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24ne
当我尝试运行此查询时,我正在使用 mysql: Order.findAll({ where: { end_date: { $ne: null, }, }, });
我收藏的文档 rooms具有以下结构: { "_id": { "$oid": "4edaaa4a8d285b9311eb63ab" }, "users": [ {
我正在使用一开始具有以下结构的图表,但是我很难理解何时将其评估为true。 {{- if and .Values.vpceIngress.enabled .Values.http.paths (ne
我的 $ne : "" 无法与 pymongo 正常工作。 hashtable['ACR-WEB-01']=db.logs.find({"host_name" : "WEB-01"}, {"servi
我想获取一些文档,其中字段可能是$in某个数组(如果设置了过滤器,则进行条件查询)。 但是,我还需要无条件检查同一字段是否为 $ne: null。我知道 $in: [some value] 可用于防止
我正在尝试使用如下插入的数据运行以下查询。无论出于何种原因,值中为 0 的 $ne 似乎都不起作用。我使用 v2.0.4 在 linux 和 mac 上都试过了。还使用 mongo shell 运行了
我们有两个类,分别是“Parent”和“child”,如下所示: class Parent { parent_AddUser() { // add user code for
我一直在尝试创建一个奇特的 oh-my-zsh 主题,但不幸的是我遇到了一个恼人的障碍。 eval gray='$FG[245]' yellow='226' ret=$? # error check
我正在尝试排除某些行政区名称(例如布鲁克林、皇后区和史泰登岛)的查询,我只能排除一个,但不知道如何排除多个 只排除一个:db.rest.find({ borough : {$ne : "布鲁克林"}}
第一次在 Rails 项目上使用 Mongoid。 分机号是什么 .ne 以这样的作用域方法表示: scope :subscribed, -> { where( :unsubscri
数据: db.inventory.insertMany([ { _id: 1, item: null }, { _id: 2 }, { _id: 3, ite
db.test.find().pretty(); { "_id" : ObjectId("5537f2cfba0bf10870747d7e"), "a" : 1
我正在尝试查找 tipo=CD 和 canciones 不包含具有 title=Pajaritos 和 cancion=2 的子文档的所有文档> 这就是我想在 canciones 字段中实现的目标:
我一直在尝试执行以下 UNIX shell 脚本,但它不起作用。我通过 KornShell (ksh) 运行它。 echo $?; if [ $? -ne 0 ] then failed $LINE
所以我有如下所示的这一系列整数 from pandas import Series s = Series([1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1
假设,我想将新项目保存/创建到 DynamoDb 表中,当且仅当不存在任何现有项目包含与我设置的值相同的 referenceId 时。 就我而言,如果表中没有任何其他 withReferenceId=
在 Android 应用程序中,我想根据以下格式的坐标设置地理点 50 27.858N,004 57.146E。我阅读了以下主题 how to convert coordinates to geoPo
我在 Express Node.js 服务器上运行了以下两个文件: 首页.js var express = require('express') var sequelize = require('se
我是一名优秀的程序员,十分优秀!