问题标签 [mgo]

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.

0 投票
2 回答
4722 浏览

mongodb - 如何在mgo中进行文本搜索?

我正在尝试在名为“abc”的字段中搜索“efg”

c 是集合对象。我没有得到任何结果。我究竟做错了什么?

0 投票
1 回答
5463 浏览

mongodb - mgo/mongodb:聚合 - 查找所有并按成员计数排序,但成员计数是成员用户 ID 的数组

1条记录(一个社区)的表示:

和 Go 类型

好的,现在我想检索所有社区的列表,并按js 或GoCategory Art and Culture中的成员数量排序。members.lengthlen(Community.Members)

就像是SELECT * FROM communities ORDER BY COUNT(members) WHERE category = 'Art and Culture'

我有一个要填充或解组的自定义类型


到目前为止我所拥有的

但这不起作用,因为

因此,它应该找到所有,按成员计数排序并分配一个新的“虚拟”字段成员计数,但仅限于“艺术和文化”类别。

我发现 MongoDB 在这方面相当复杂。

  1. mongodb 查询是什么样的?

  2. 这在 Go/mgo 中是什么样子的?

0 投票
1 回答
4402 浏览

mongodb - 使用 mgo 连接到副本集

我正在使用在端口 27017、27018 和 27019 上mtools启动具有 3 个节点 ( ) 的副本集。mlaunch --replicaset

但是,我实际上很难使用Dialmgo 包连接到副本集。下面的代码片段会出现以下消息no reachable servers

究竟如何使用 mgo 包连接到副本集?

0 投票
1 回答
797 浏览

mongodb - 如何将更新功能应用于 MongoDB 集合中的所有文档(使用 mgo)?

我已经在 MongoDB 中建模了一个具有多个关系的组,该组具有一组学生作为字段之一。

当一个学生被删除时,我想遍历所有组,并且对于在其 Group.Students 中有 deleted_student 的每个组,从数组中删除 deleted_student。

要从数组中删除 deleted_student,我有一个辅助函数 RemoveItem,我想使用它。

将此功能应用于集合中所有记录的“Mongo”方式是什么?或者我应该只返回所有组,然后遍历每个组并在字段上执行操作。像这样的东西(在 Go 中使用 mgo 库)

0 投票
4 回答
1426 浏览

mongodb - 使用 go 和 mgo 读取 mongodump 输出

我正在尝试读取由 mongodump 生成的集合转储。该文件有几千兆字节,所以我想逐步阅读它。

我可以用这样的方式读取第一个对象:

但是我不知道消耗了多少buf,所以我不知道如何阅读下一个。

这可以用mgo吗?

0 投票
2 回答
65004 浏览

go - 空的或不需要的结构字段

我有两个结构表示将插入 mongodb 数据库的模型。一个结构(投资)将另一个结构(组)作为其字段之一。

我遇到的问题是在投资模型中,组不是必需的。如果没有组,我认为最好不要将其插入数据库中。在 Go 中处理这样的数据库模型的最佳方法是什么?

0 投票
1 回答
645 浏览

mongodb - 使用 mgo.txn 模拟 Upsert

由于 mgo/txn 中没有 Upsert,所以当我不知道文档是否已经存在时,我会先进行插入,然后再进行更新。像这样(记住这是一个简单的例子,实际上我也会改变不同的文件)——

这工作正常。不幸的是,它需要我确切知道哪些字段已更改。我通常在 Save() 函数中运行它,该函数接收一个对象并保存一堆相关文档,所以我通常不知道哪些字段已更改。我试着做这样的事情——

但这似乎不起作用,因为我收到“修饰符和非修饰符不能混合”错误。我想出的唯一解决方案是“$set”每个单独的字段——

但这似乎……笨重。我错过了什么吗?有没有办法更新整个文档?

0 投票
1 回答
816 浏览

go - mgo 不保证不同的指标

我正在使用以下 go 文件作为我的 http API 和 mgo 之间的层:

如您所见,我通过调用来确保每个操作的索引m.index(model)。模型类型具有 formstore:"index"或的标签store:"unique"

由于设置通用索引与设置唯一索引不同,我分别收集它们,然后调用m.collection.EnsureIndex已解析的键。

然而,第二次调用m.collection.EnsureIndex永远不会到达服务器,只发送了正常索引。

查看godocs显示确保 Index 缓存其调用,所以我认为我应该将它们组合在一个调用中。

那么如何在一次调用 EnsureIndex 时组合不同的索引设置?

解决方案: 您需要将reflect中的字段名称小写才能与mgo一起使用...

0 投票
1 回答
7984 浏览

mongodb - 如何使用 golang 和 mgo 库在 mongodb 中创建文本索引?

我正在尝试对集合进行全文搜索,但为了做到这一点,我需要创建一个文本索引(http://docs.mongodb.org/manual/tutorial/create-text-index-on-多字段/ )

mgo 库提供了一个EnsureIndex()函数,但是它只接受一段字符串作为键。我尝试将索引写为字符串:{ name: "text", about: "text" }并将其传递给该函数,但它不起作用。

我还设法在 mongo shell 中手动创建索引,但我真的很想在我的 go 项目中记录索引。这可能吗?提前致谢!

0 投票
1 回答
1041 浏览

mongodb - 带有mgo的非结构化内部文档

我有一个具有以下结构的文档

最重要的是,键“值”下的子文档结构是可变的,所以我无法为此创建结构。我试着按照这里的建议 -使用 mgo 的非结构化 MongoDB 集合

我带着这段代码来了——

当我尝试使用 go build -v -o 分析器构建它时,它向我显示了这个错误---

我非常坚持这一点。什么也做不了。请问有人可以帮忙吗?

谢谢


在做了一些研究后,我想出了这段代码。肯定不是最优化的。但就我而言,它有效。从 http://blog.denevell.org/golang-interface-type-assertions-switch.html获得帮助

https://groups.google.com/forum/#!topic/mgo-users/JYE-CP15az4

让我知道你对此的看法。

谢谢