在 MongoEngine 中过滤嵌入列表

2023-12-30

如果我有这些模型:

class Sub(EmbeddedDocument):
    name = StringField()

class Main(Document):
    subs = ListField(EmbeddedDocumentField(Sub))

我想要一个返回主电源的查询,其中按现有名称过滤潜艇

Main.objects.filter(subs__name__exists=True)

这将返回正确的主电源,但子电源始终是整个列表,而不是子集。我怎样才能只得到子集?我需要依赖列表理解吗?


MongoDB 并不完全支持您请求的此操作,因此 Mongoengine 也不支持。

您可以对数组(列表)执行切片操作,但不能执行即席过滤。 MongoDB 数组中的切片与 Python 中的列表切片类似,您可以使用 Mongoengine 使用slice__关键字语法:

Main.objects.filter(subs__name__exists=True).fields(slice__subs=[0,2])

这将返回从索引 0(即第一个元素)开始的 subs,并返回之后的两个元素。

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

在 MongoEngine 中过滤嵌入列表 的相关文章

  • Python 2.7 将比特币私钥转换为 WIF 私钥

    作为一名编码新手 我刚刚完成了教程 教程是这样的 https www youtube com watch v tX XokHf nI https www youtube com watch v tX XokHf nI 我想用 1 个易于阅读
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • 如何使用显式引用转储 YAML?

    递归引用非常适合ruamel yaml or pyyaml ruamel yaml dump ruamel yaml load A A id001 id001 然而 它 显然 不适用于普通引用 ruamel yaml dump ruamel
  • 根据开始列和结束列扩展数据框(速度)

    我有一个pandas DataFrame含有start and end列 加上几个附加列 我想将此数据框扩展为一个时间序列 从start值并结束于end值 但复制我的其他专栏 到目前为止 我想出了以下内容 import pandas as
  • 更改 Altair 中的构面标题位置?

    如何将方面标题 在本例中为年份 移动到每个图的上方 默认值似乎位于图表的一侧 这可以轻易改变吗 import altair as alt from vega datasets import data df data seattle weat
  • 使用 scipy curve_fit 拟合噪声指数的建议?

    我正在尝试拟合通常按以下方式建模的数据 def fit eq x a b c d e return a 1 np exp x b c np exp x d e x np arange 0 100 0 001 y fit eq x 1 1 1
  • 动态 __init_subclass__ 方法的参数绑定

    我正在尝试让类装饰器工作 装饰器会添加一个 init subclass 方法到它所应用的类 但是 当该方法动态添加到类中时 第一个参数不会绑定到子类对象 为什么会发生这种情况 举个例子 这是可行的 下面的静态代码是我试图最终得到的示例 cl
  • 乘以行并按单元格值附加到数据框

    考虑以下数据框 df pd DataFrame X a b c d Y a b d e Z a b c d 1 2 1 3 df 我想在 列中附加数字大于 1 的行 并在该行中的数字减 1 df 最好应该 然后看起来像这样 或者它可能看起来
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • Python 类型安全吗?

    根据维基百科 https en wikipedia org wiki Type system Type safety and memory safety 如果一种语言不允许违反类型系统规则的操作或转换 计算机科学家就认为该语言是 类型安全的
  • Python 声音(“铃声”)

    我想让一个 python 程序在完成任务时通过发出嘟嘟声来提醒我 目前 我使用import os然后使用命令行语音程序说 进程完成 我更愿意它是一个简单的 铃 我知道有一个函数可以用于Cocoa apps NSBeep 但我认为这与此没有太
  • Python]将两个文本文件合并为一个(逐行)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是蟒蛇新手 我想做的是将文件 a 和文件 b 逐行合并到一个文件中 例如 text file a a n b n c text fi
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • Python 通过从现有 csv 文件中过滤选定的行来写入新的 csv 文件

    只是一个问题 我试图将 csv 文件中的选定行写入新的 csv 文件 但出现错误 我试图读取的 test csv 文件是这样的 两列 2013 9 1 2013 10 2 2013 11 3 2013 12 4 2014 1 5 2014
  • Python:高精度time.sleep

    你能告诉我如何在 Win32 和 Linux 上的 Python 2 6 中获得高精度睡眠函数吗 您可以在中使用浮点数sleep http docs python org library time html time sleep 该参数可以
  • 如何为所有用户安装 Anaconda python?

    Anaconda python 发行版 https store continuum io cshop anaconda 非常方便地部署科学计算环境 SCE 并根据需要切换python版本 默认情况下 安装会将 python 定位到 anac
  • python sklearn中的fit方法

    我问自己关于 sklearn 中拟合方法的各种问题 问题1 当我这样做时 from sklearn decomposition import TruncatedSVD model TruncatedSVD svd 1 model fit X
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切
  • 缓存 Flask-登录 user_loader

    我有这个 login manager user loader def load user id None return User query get id 在我引入 Flask Principal 之前它运行得很好 identity loa

随机推荐

  • 手动使 C# 线程超时

    我需要为长时间运行的线程添加超时 我们遇到一些外部问题 有时会导致该线程无限期地挂在某一行代码处 为了使我们的进程更加健壮 我们希望检测线程不再主动运行 轮询并中止该线程 这将使我们清理资源并重新启动线程 添加此功能的首选方法是什么 首选方
  • ARM Linux 上的“回溯已停止:前一帧与此帧相同(堆栈损坏?)”

    我正在尝试在 Linux ARM 架构 上运行应用程序时调试段错误 我复制了核心转储文件并尝试在 x86 64 主机上使用arm gdb 获取回溯 这是o p arm arago linux gnueabi gdb test slave6
  • 用于Linux内核开发的发行版[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 这是学习 Linux 内核开发的最佳轻量级发行版 它应该有很多可用的调试和分析工具 LFS http
  • 在react-native上使用styled-components,如何计算组件的高度?

    使用样式组件 我需要根据屏幕尺寸计算组件的高度 如下所示 const ForgotPasswordContainer styled View height calc 100 20px 这样使用是不行的 样式组件不支持基于百分比的高度值 使用
  • 确定链接服务器的 SQL Server 版本

    这里有人知道我如何通过使用 TSQL 语句来确定链接服务器上运行的 SQL 版本吗 我正在运行 SQL2005 我的链接服务器正在运行 sql2000 2005 和 2008 的混合 select from openquery MyLink
  • 从 ANTLR 生成 EBNF

    有人知道从 ANTLR 生成 EBNF 的工具吗 ANTLR 已经接近 EBNF 但出于文档目的 我希望有一个干净的 EBNF 描述 中间没有代码 有了antlrworks 就可以得到语法图了 java cp antlrworks 1 1
  • NSEvent 和 Magic Mouse

    如何区分事件是否发生 void scrollWheel NSEvent event是由魔术鼠标或触控板触发的吗 我问这个问题的原因是因为我想在使用触控板时为滚动事件分配不同的操作 因为用户可以在触控板上捏合缩放 然而 在魔术鼠标上 用户无法
  • 如何监听使用 Chrome 开发者工具所做的 DOM 更改

    我需要制作一个应用程序 可以检测我何时使用 chrome 开发人员工具更新网页上的属性 例如 如果我打开开发人员工具 请使用元素选择器并更改特定元素的字体大小 见图 我应该能够运行一个程序 通知该程序更新了页面上的哪些元素以及更改了哪些属性
  • R:X 错误中的 NA/NaN/Inf

    我正在尝试使用 R 执行负二项式回归 当我执行以下命令时 DV2 25112013 nb lt glm nb DV2 25112013 Bcorp Geographic Proximity Dirty Industry Clean Indu
  • 在 Windows 上为“therubyracer”安装“libv8”gem

    我安装时遇到问题therubyracerWindows 上的宝石 Using Ruby 2 1 6 32 bit和跑步 gem install libv8 v 3 16 14 3 with system v8 这是我得到的错误 Instal
  • 为什么这段代码会出现空指针异常?我认为字符类可以处理 null 被分配? [复制]

    这个问题在这里已经有答案了 public class Playground public static void main String args String s blah Character lclfs s contains s con
  • 在 Linux 上将 Android Studio 设置重置为默认设置

    每个人 我曾经在 Mac 上开发 Android 应用程序 最近我在运行Xubuntu的Thinkpad上安装了android开发环境 我通过文件 gt 导入设置将Mac上的Android studio设置导入到Xubuntu上的Andro
  • 堆栈变量与堆变量

    我的想法是否正确 char buff 500 创建一个堆栈变量 并且 char buff char malloc 500 创建一个堆变量 如果这是正确的 那么何时以及为什么要使用堆变量而不是堆栈变量 反之亦然 我知道堆栈更快还有其他什么吗
  • async/await 是否适合同时受 IO 和 CPU 限制的方法?

    MSDN 文档似乎指出async and await适用于 IO 密集型任务 而Task Run应该用于 CPU 密集型任务 我正在开发一个应用程序 该应用程序执行 HTTP 请求来检索 HTML 文档 然后对其进行解析 我有一个看起来像这
  • JSP中的编码问题

    我有一个带有几个文本字段的 html 表单 当我尝试提交非英文字符 在我的例子中是俄语 时 服务器收到 不可读 字符串 不是问题 而是一些奇怪的字符 我简化了我的代码以在此处显示
  • Cookie 在 ASP.NET 中如何工作?

    我工作的网站由多个项目组成 用多种语言编写 现在 我们必须在查询字符串和会话变量中使用一些笨拙的代码 以使人们在从一个项目转到另一个项目时保持登录状态 由于 cookie 是特定于域的 因此我们尝试将它们转换为它们 因为它们可以使用一种语言
  • 如何根据区域设置获取带有时区的数据时间模式?

    以下代码是我已经拥有的代码 DateFormat f DateFormat getDateTimeInstance DateFormat SHORT DateFormat SHORT Java Locale SimpleDateFormat
  • 如何配置 nginx 与 Jetty6 网络服务器一起工作?

    看来nginx是和php ruby python一起使用的 有人有如何设置 nginx 与后端 jetty tomcat 一起使用的示例吗 Thanks 正确的 我想我有资格成为一名自学者 不是吗 只需在 nginx conf 文件的 ht
  • 在项目创建时自动加载库。安卓、日食

    我已经弄清楚如何在桌面上获得我想要的效果 窗口 gt 首选项 gt Java gt 安装的 JRE gt jre7 编辑 gt 添加外部 JAR 但我无法在 Android 上获得相同的效果 在桌面项目中 我可以看到文件夹 JRE Syst
  • 在 MongoEngine 中过滤嵌入列表

    如果我有这些模型 class Sub EmbeddedDocument name StringField class Main Document subs ListField EmbeddedDocumentField Sub 我想要一个返