问题标签 [mongodb-query]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - Mongo 查询给出了意想不到的结果
谁能告诉我为什么这个查询会返回这个记录?
询问:
记录:
我以为我是在要求 mongo 给我一个记录,其中包含“campaign”是一个属性。但是,如您所见,此记录没有名为“campaign”的属性
mongodb - MongoDB 查询 - 从标签数组中查找每个
我正在尝试在 MongoDB/Mongoose 中执行“where $in”查询,我只想为数组中的每个标签返回一个结果。有点像:
我会得到三个独特的结果;每个来自我指定的一组标签。
在 SQL 中,您会使用 GROUP BY 之类的东西,但如果不执行 Map/Reduce,我无法在 MongoDB 中找到等价物。
无论如何要这样做?谢谢。
--edit 我想要的等效 SQL 是:
或者理想情况下,虽然 MongoDB 没有随机
mongodb - MongoDB $where 操作员可以像那样奇怪地工作吗?
我正在测试 MongoDB,这里有一个让我大吃一惊的例子:
然后列出我的收藏:
和 - 完全确定:
和奇怪的部分:
我希望查询具有完全相反的设置。
mongodb - 盒子地理空间查询中的猫鼬无法正常工作
简单的问题:
在nodejs上使用猫鼬进行地理空间查询的正确方法是什么?
复杂的故事:
我用带有空间索引的猫鼬创建了一个模式
然后我在表中插入了3个文件。我可以使用 mongo 客户端和 mongoose 检索这些db.mymodels.find({})
文档MyModel.find({});
现在我尝试使用边界框进行地理空间查询。
mongo客户端工作正常
在框中只返回一个结果。
另一方面,Mongoose 返回所有三个结果
这个问题说你应该使用 find() 而不是 where,但是当我尝试用 where 替换 find 时,'need an area > 0'
我检查了一个错误,我的边界框格式正确,左下角然后右上角。
该怎么办?使用猫鼬使用边界框进行地理空间查询的正确方法是什么?
mongodb - 更新MongoDB中数组内的嵌入对象
我有像这样的文件
我不能用昵称“test”在里面拼写。我试过这个$set
查询:level : 3
spell_id : 1
spells
heros
我看到的错误是
无法使用字符串字段名称附加到数组 [spells] 感谢您的帮助。
mongodb - 如何在mongoDB中查询多个结果
如果我想查找多个查询参数的文档(抱歉,如果没有使用正确的措辞),我该怎么做?我正在使用 c# 驱动程序。
示例我想查找 provider1 和 provider2 的文档,我可以为一个,即
collection.Find(Query.EQ("ProviderId", providerId))
在 TSQL 中:
mongodb - 如何使用 MongoDB 和 C# 驱动程序查询子文档集合
我有以下结构:
当我保存时,它会产生如下内容:
我想做的是,如果已经创建了一个线程,则使用相同的线程并根据用户是否向同一用户发送消息,或者反之亦然。
我认为这样的事情会起作用,但它返回 null (无值):
我在想一个包含所有的东西?还是全部?不太确定如何进行查询。
javascript - 通过 map reduce 进行 MongoDB 唯一值聚合
我看到很多关于 MongoDB 中聚合的问题,但是,我还没有找到一个完整的解决方案。
这是我的数据示例:
现在,我的目标是确定每种水果的每种颜色的受欢迎程度,因此输出集合如下所示:
我尝试了各种 M/R 功能,最终它们要么不起作用,要么花费成倍的时间。在示例(水果)的上下文中,我在大约 10,000,000 个文档中拥有大约 1,000 种不同的水果和 100,000 种颜色。我目前的工作 M/R 是这样的:
现在,这确实有效,对于 100 条记录,只需要一秒钟左右,但时间非线性增加,因此 100M 条记录需要很长时间。问题是我在reduce函数中使用数组进行了一个穷人子聚合collection
,因此需要我遍历collection
map函数中的值和值。现在我只需要弄清楚如何有效地做到这一点(即使它需要多次减少)。欢迎任何建议!
编辑由于缺少更好的发布位置,这是我的解决方案。
首先,我创建了一个名为
mr.js
:
该文件遍历我的整个集合,一次增量地映射/减少 100k 文档(按date
必须有索引的排序!),并将它们减少到单个输出集合中。它是这样使用的:mongo db_name mr.js
.
然后,几个小时后,我收集了一个包含所有信息的集合。为了找出颜色最多的水果,我使用 mongo shell 中的这个来打印前 25 个:
这种方法真正酷的地方在于,由于它是增量的,我可以在 mapreduce 运行时处理输出数据。
mongodb - 使用 PHP 在 Mongo 中的 GroupBy
我正在尝试在 mongoDB 上进行组查询,但我得到了错误的结果,并且所有的调整都不能解决我的问题。
我有一个具有以下架构的集合(action_ 是一个计数器)
我需要每个用户汇总所有商店的所有计数器,我已经这样做了:
我得到的结果是一组提取值的文档。我需要一个关联数组的数组,并且每个用户都有类似的东西:
mongodb - 删除所有嵌入的文档
我想从集合中删除所有嵌入的文档,但我不知道该怎么做。
我尝试了几种方法,但我认为这个应该可行:
Products 是集合,orders 是嵌入文档的数组。
删除所有orders
索引大于或等于 0 的地方。
没运气。