MongoDB:查询名称中包含空格的键

2024-04-01

我只想从 MongoDB 集合中检索某些键的值。

但是,该集合有一些名称中带有“空格”的键,例如:

"Parent":{"key1": //some string,
          "key2": //some string,
          "key 3": //some string}

我知道这是一种错误的方法,因为理想情况下键名称中不应该有空格,但是我如何查询该键?我正在使用 Python 和 PyMongo。

对于普通键我可以这样做:

db.coll_name.find({"key": "India"}, {"_id": 0, "Parent.key1": 1, "Parent.key2": 1})

那么如何在上述查询的第二个参数中使用键“Parent['key 3']”?有什么办法可以实现这一点吗?

这是返回数据的查询(有效):

db.coll_name.find({}, {"Parent.key1": 1, "_id": 0})

这是不返回数据的查询:

db.coll_name.find({}, {"Parent['key 3']": 1, "_id": 0})

好吧,你构建这个的唯一方法是这样的:

content = {};
content["Parent"] = {}
content["Parent"]["key2"] = 1
content["Parent"]["key 3"] = 1

db.coll_name.insert(content)

但您似乎忽略了这样做没有任何问题:

db.coll_name.find({ "Parent.key 3":  1} )

或者在投影中

 db.coll_name.find({}, { "Parent.key 3": 1 })

It's “点符号” http://docs.mongodb.org/manual/core/document/#dot-notation而不是对象表示法,只要您引用键名称(这对于点表示法是必需的),那么一切都很好,并且您可以在其中有一个空格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB:查询名称中包含空格的键 的相关文章

随机推荐

  • printf 不在 eclipse 的控制台上打印?

    include
  • Spark sql row_number 还是序列号?

    随机数生成器 SparkSQL 例如 Netezza 序列号 mysql 序列号 Thanks Spark sql 中的序列在 Spark 1 6 中 其 select monotonically increasing id from ta
  • “看过这个的人也看过”算法

    我正在尝试编写一种算法 其作用有点像亚马逊的 购买此产品的人也购买了 两者之间的区别在于 我的只是计算您在单个会话中观看的 产品 而亚马逊则计算每次购买 结账 我在实施和弄清楚算法应该是什么方面遇到了一些困难 到目前为止 我正在通过 Ses
  • 在 Cassandra 中选择列为空的行

    我在 Cassandra 中有下表 CQL 规范 3 3 0 Users
  • MIPS 中的影子寄存器是什么以及它们如何使用?

    当我了解 MIPS 架构时 我遇到了影子寄存器 据说它们是通用寄存器的副本 我无法理解以下内容 何时使用影子寄存器 MIPS 影子寄存器用于减少处理中断时的寄存器加载 存储开销 分配了影子寄存器组的中断不需要保存任何现有上下文来提供空闲寄存
  • 在 Java 桌面应用程序中保存数据的最佳方法是什么?

    我的桌面应用程序中有一个很大的 Java 对象树 我正在尝试确定将它们作为文件保存到文件系统的最佳方法 我的一些想法是 使用 DataOutputStream 滚动我自己的序列化器 这将使我能够最大程度地控制文件中的内容 但代价是对其进行微
  • 使用文件协议调用 Chrome 中 iframe 中定义的 JavaScript 函数

    这个问题与此处提出的问题的完全更新版本非常相似 如何使用文件协议在 Chrome Webkit 中从一帧调用 JavaScript 函数到另一帧 https stackoverflow com questions 2570718 how t
  • 用 C# 为信息检索应用程序编写倒排索引

    我正在编写一个内部应用程序 其中包含多条文本信息以及有关这些文本的大量数据 这些数据将按照输入顺序保存在数据库 SQL Server 尽管这可能会改变 中 我希望能够搜索这些信息中最相关的信息 并将最相关的信息放在顶部 我最初考虑使用 SQ
  • 如何将距离从度转换为米?

    我将 OpenLayers 与普通墨卡托地图一起使用 并尝试通过查找经纬度中的点网格来对边界框进行采样 bbox 以 latlon 表示 例如 48 1388 15 3616 55 2057 3 9359 我可以定义一个距离degrees
  • 为什么 sizeof int 是错误的,而 sizeof(int) 是正确的?

    我们知道sizeof是一个运算符 用于计算任何数据类型和表达式的大小 当操作数是表达式时 可以省略括号 int main int a sizeof int sizeof int sizeof a sizeof a return 0 的第一次
  • Java 反射、类对象

    我的目标是在命令行中读入我希望观察其信息的类的名称 当我在运行前知道类名时 就没有问题了 我似乎无法管理的是如何根据字符串输入创建类对象 public class Tester static void methodInfo2 Object
  • jQuery Ajax 发布 - 404 错误

    我正在发布到 ActionMethod 以检索一些客户计数 该帖子在我的本地机器上运行良好 当部署到另一台服务器时 它会抛出 404 错误 我的帖子如下 我不知道为什么这已经停止工作了 var urlStr Items ItemCount
  • mongodb中db.collection.find()的返回类型是什么

    我正在尝试从 mongodb 连接读取 find 函数的输出 我想将数据库结果存储到 JSON Array 中 称为结果 如下所示 collection db collection users result collection find
  • 从 SQL Server 2005 读取 MS Excel 文件

    我需要从 SQL Server 2005 中的查询读取 Microsoft Excel 2003 文件 xls 然后将其中一些数据插入到一些表中 读取文件然后使用其数据本身并不是问题 但我发现 对于列 有时我会得到 NULL 值 而不是 E
  • 带有 jquery 的 IE 复选框无法正常工作

    我正在尝试在页面上使用多个 asp net 复选框 并相应地禁用它们
  • 完全模态的 WPF 窗口?

    我有一个要求 指定使用 WPF 的通知托盘应用程序必须 基于某些条件 弹出一个全局模式的窗口 这应该阻止用户执行任何操作 即使在 Tray 应用程序之外 直到他们满足一些其他条件 此时它将启用关闭按钮并允许用户将其关闭 如何制作这样一扇窗户
  • 我应该如何正确删除 TFS 分支?

    我想知道我应该如何正确地摆脱不再有任何用途的分支 现在 即使我删除它们并提交 它们仍然在特定分支根 目录 的属性窗口中列为分支 如果我选择合并 我不会选择合并到已删除的分支 这显然是符合预期的 但因此我对属性窗口中仍然显示的分支感到困惑 对
  • 如何在 WP8 地图上创建自动缩放图像

    我正在尝试向地图添加多个图钉 当您缩小到足够大时 图钉就会消失 以使图钉变得如此小 以至于不再渲染它们 我通过以下代码成功实现了这种效果 MapPolygon shape new MapPolygon GeoCoordinateCollec
  • 类型的无效操作数 - C++

    我有一个名为 ThreeDigits 的 C 代码类 我这样重载了 操作数 ThreeDigits ThreeDigits operator const ThreeDigits number const double result getN
  • MongoDB:查询名称中包含空格的键

    我只想从 MongoDB 集合中检索某些键的值 但是 该集合有一些名称中带有 空格 的键 例如 Parent key1 some string key2 some string key 3 some string 我知道这是一种错误的方法