是否可以从 MongoDB 查询返回计算字段?

2024-06-20

在 SQL 中我可以做类似的事情

SELECT myNum, (myNum+1) as `increment` FROM myTable

有效地执行任意数学和其他函数,并将它们作为结果中的字段返回。 MongoDB 也可以做同样的事情吗?

db.test.find({}, {_id:1, myNum:1, increment:function() { return this.myNum + 1;}});

这不会像我期望的那样返回“增量”字段。

我在这个主题上可以找到的所有其他相关问题都涉及分组查询,而这个不是;我只是在获取文档时向其添加一个“虚拟”字段(客户端计算?)。

或者,这个问题似乎是一个没有“reduce”的“map”;每行都有自己的计算字段。有没有办法将映射函数的结果作为结果/光标返回?


The new 聚合框架 http://docs.mongodb.org/manual/reference/aggregation/MongoDB 2.2 中允许您通过以下方式添加计算字段$project http://docs.mongodb.org/manual/reference/aggregation/#_S_project操作员。这与以下不太一样随意的函数,因为你需要使用支持的运营商 http://docs.mongodb.org/manual/reference/aggregation/,但它确实提供了很大的灵活性。

这是递增的示例_id进入一个新的myNum field:

MongoDB shell version: 2.2.0-rc0

> db.test.insert({_id:123});

> db.test.insert({_id:456});

> db.test.aggregate(
  { $project : {
      _id : 1,
     'myNum': { $add: [ "$_id", 1]}
  }}
)
{
    "result" : [
        {
            "_id" : 123,
            "myNum" : 124
        },
        {
            "_id" : 456,
            "myNum" : 457
        }
    ],
    "ok" : 1
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以从 MongoDB 查询返回计算字段? 的相关文章

随机推荐

  • 转义 to_tsquery 中的特殊字符

    如何转义传递给的字符串中的特殊字符to tsquery 例如 这种查询 select to tsquery AT T 生产 NOTICE text search query contains only stop words or doesn
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • Intellij Android Studio打开localhost页面登录github

    我正在使用 android studio 版本 4 2 beta 3 当我使用 GUI 推送 获取工作室提示时登录 github 同时我已经设置了一个帐户 奇怪的是 我可以在终端上使用 git 但不能在 GUI 上使用 我选择第一个选项 我
  • 动态地将工具提示文本设置为 div 元素

    我正在尝试动态地将工具提示文本设置为容器 div 并对我刚刚添加到有序列表的每个 div 元素 elem Alias Status 使用 jQuery function addNewElement elem var li li li li
  • 如何将函数应用于元组?

    这应该是一件容易的事 如何将函数应用于 Scala 中的元组 即 scala gt def f i Int j Int i j f Int Int Int scala gt val p 3 4 p Int Int 3 4 scala gt
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • SQL Server 连接尝试记录在哪里?

    SQL Server 是否有用于尝试连接的外部日志文件或内部表 或者此类信息是否放置在 Windows 事件日志中的某个位置 您可以启用连接日志记录 对于 SQL Server 2008 您可以启用登录审核 在 SQL Server Man
  • Mipmap 与可绘制文件夹[重复]

    这个问题在这里已经有答案了 我正在使用 Android Studio 1 1 Preview 1 我注意到 当我创建一个新项目时 我得到以下层次结构 不同 DPI 的 Mipmap 文件夹 不再有不同 DPI 的可绘制文件夹 我应该将所有资
  • 是否有“npmpublish-f”的解决方法

    现在npm publish f已弃用 是否有解决方法或软件包可以覆盖发布后的目标版本 我知道关于semver http semver org 我还想要npm publish f 您可以取消发布特定版本 然后重新发布它 npm unpubli
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • Windows Azure:尝试创建凭据时出现身份验证错误

    底部更新 我第一次尝试将测试应用程序上传到 Windows Azure 但在创建凭据时遇到问题 这些是我正在遵循的步骤 我在 Visual Studio 中创建凭据和证书 并将证书上传到 Azure 如下所示 在服务器资源管理器中右键单击
  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • 批量 put() 限制

    对于批量更新现有记录是否存在硬限制或性能下降限制 我有一个任务队列进程 其中处理数千条现有记录 在流程循环结束时 所有记录的索引 BooleanProperty 从 False 更改为 True 一次执行 5 000 条记录与嵌套批次放置
  • 接收者'ClassName'是一个转发类,对应的@interface可能不存在

    我目前正在寻找一个UIPickerTable在 UIPickerView subviews 内 所以我循环并执行isKindOfClass UIPickerTable class 它有效 但由于 UIPickerTable 的标头未公开 我
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • 是否可以从 MongoDB 查询返回计算字段?

    在 SQL 中我可以做类似的事情 SELECT myNum myNum 1 as increment FROM myTable 有效地执行任意数学和其他函数 并将它们作为结果中的字段返回 MongoDB 也可以做同样的事情吗 db test