90得票3回答
MongoDB的{聚合$match}与{查找find}速度对比

我有一个拥有数百万行的 MongoDB 集合,正在尝试优化查询。目前我使用聚合框架检索数据并按照我的要求对其进行分组。我的典型聚合查询类似于: $match > $group > $ group > $project 然而,我注意到前面的部分是最慢的,最后的部分仅需要几毫秒...

89得票1回答
如何在MongoDB中聚合求和以获得总计数?

对于一个具有字段 { wins: Number } 的集合,如何使用 MongoDB聚合框架 获取集合中所有文档的胜利总数? 示例: 如果我有三个文档分别有 wins: 5, wins: 8, wins: 12 ,我该如何使用 MongoDB 聚合框架返回它们的总和,即 total: 25。

82得票3回答
如何使用mongoose find获取包含字符串部分的所有值?

我使用mongoose从MongoDB中检索数据时遇到了以下问题。 这是我的模式(Schema):const BookSchema = new Schema( { _id:Number, title:String, authors:[S...

81得票2回答
MongoDB三层嵌套查找

我需要以JSON格式从数据库中检索整个单一对象层次结构。实际上,对于任何其他解决此问题的方案提议都将不胜感激。我决定使用带有$lookup支持的MongoDB。 因此,我有三个集合: party{ "_id" : "2", "name&quot...

81得票16回答
使用limit时,如何获取MongoDB中文档的总数?

我对使用MongoDB优化“分页”解决方案很感兴趣。我的问题很简单。通常,我使用limit()功能限制返回的文档数量。这迫使我发出一个没有limit()函数的多余查询,以便我也可以捕获查询中文档的总数,以便我可以将其传递给客户端,让他们知道他们需要发出额外的请求来检索其余文档。 是否有一种方...

78得票3回答
MongoDB - $size的参数必须是一个数组,但类型为EOO/缺失。

尝试使用icCube创建一个MongoDB数据源。想法是将数组的大小作为新字段返回。类似于:$project: { "people": 1, "Count myFieldArray" : {$size : "$myFieldArray" } } 但是我在获取某些记录时出现了以下错误:T...

70得票5回答
MongoDB聚合查询中,使用$lookup只包含(或投影)一些字段返回查询结果。

在Mongo中,进行$lookup聚合后,我希望请求仅返回一些字段而不是整个文档。 我有以下查询:db.somecollection.aggregate([{ $lookup: { from: "campaigns", localField: "cam...

69得票3回答
MongoDB中的有条件求和

我的MongoDB集合类似于SQL中的以下表格: Sentiments(公司,情感) 现在,我需要执行这样的查询:SELECT Company, SUM(CASE WHEN Sentiment >0 THEN Sentiment ELSE 0 END) AS SumPosS...

69得票4回答
将MongoDB中的_id字段从字符串转换为ObjectId进行连接

我有两个集合 用户{ "_id" : ObjectId("584aac38686860d502929b8b"), "name" : "John" } 职位{ "_id" : ObjectId("584aaca6686860d502929b8d"), "role" ...

68得票4回答
如何在 MongoDB 的搜索/投影中重命名字段?

如何在查询数据时修改返回字段的名称?我想使用类似于$rename的方法,但是我不想改变我正在访问的文档。我只想以不同的方式检索它们,就像在SQL中使用SELECT COORINATES AS COORDS一样。 我现在的做法:db.tweets.findOne({}, {'level1.le...