问题标签 [mongoalchemy]

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 投票
1 回答
409 浏览

python - MongoAlchemy 中复杂的字符串查询

我正在学习 MongoAlchemy,它是 MongoDB 的 Python 驱动程序之上的一层。假设有一个 Python 类,映射自 MongoDB 对象,如下所示:

我像这样查询数据库:

它工作正常,但现在我想查询数据库以获取不区分大小写的名称(“geronimo”和“Geronimo”),或者查找其中包含两个 o 的所有名称。query.filter(Person.name[1:] == 'eronimo')并且这样不起作用,因为 Person.name 不是字符串,而是 QueryField 对象。

我如何在 MongoAlchemy 中进行如此复杂的查询?

0 投票
4 回答
884 浏览

python - MongoDB:将用户嵌入评论

对于非常简单的问题(或不是非常),我找不到“最佳”解决方案

拥有一组经典的数据:附加到用户的帖子、附加到帖子和用户的评论。

现在我无法决定如何构建方案/类

方法是将 user_id 存储在评论和内部。
但是当我在页面上有 200 条评论时会发生什么?
或者当我在页面上有 N 个帖子时?
我的意思是显示用户信息(如姓名、头像)应该是对数据库的 200 个额外请求

另一种解决方案是将用户数据嵌入到每个评论和每个帖子中。

但首先 -> 这是巨大的开销,第二 -> 模型系统正在损坏(使用 mongoalchemy),第三 -> 用户可以更改他的信息(如头像)。然后呢?据我了解,对大量评论或帖子进行更新操作并不是简单的操作......

你有什么建议?每页 200 个对 mongodb 的请求是否可以(必须以性能为目标)?

或者我可能只是错过了一些东西......

0 投票
1 回答
195 浏览

python - 在 MongoAlchemy 的索引中设置 TTL

我可以以某种方式expireAfterSeconds在 MongoAlchemy 中指定集合的​​索引,或者我需要像这样进行破解:

0 投票
1 回答
610 浏览

python - 在 Flask-MongoAlchemy 中创建动态文档

我将 Flask-MongoAlchemy 用于个人项目。我有一些 .cfg 输入文件,我想解析并制作成 mongodb 文档条目。不幸的是,.cfg 文件是扁平的,我想从每个文件中制作多个不同的文档。我想定义我想在一个地方使用的结构(在一个单独的 .cfg 文件中)和 1)在解析输入文件时将其转换为这种格式,以及 2)使用这种结构创建 MongoAlchemy 文档类。我只遇到了#2 的问题,但我对解决这两个目标的替代实现持开放态度。

这是我的输入 .cfg 文件。我想把它做成多个 mongodb 文档。

这是定义结构的documents.cfg。这些值是用于区分类型的数字。

这是类定义

我解析documents.cfg 以创建两个字典:

然后我将这些传递给相应的 init() 方法

这成功地添加了属性。但是,在创建 Bar(或 Baz)的实例时,我收到此错误。

我的猜测是,这与 MongoAlchemy 字段应该是类属性而不是实例属性有关。有什么帮助吗?

0 投票
1 回答
704 浏览

python - 获取 Flask-MongoAlchemy 文档中的字段值

我查看了文档,并广泛搜索了谷歌,但没有找到解决我的问题的方法。
这是我的readRSS函数(注意“get”是 Kenneth Reitz 的 requests 模块的一个方法):

这是我的 MongoAlchemy 课程之一:

如您所见,我必须readRSS在类的函数中调用该函数,所以我可以通过self,因为它依赖于字段feednamelocation.
我想知道是否有其他方法可以做到这一点,所以我可以将readRSS返回值保存到Feed文档中的一个字段中。我尝试将readRSS函数的返回值分配给函数内的变量__dict__——这也不起作用。

我的应用程序中有该功能,但我想将结果保存到文档中以减轻服务器上的负载(我从中获取 RSS 提要的服务器)。

有没有办法做我打算做的事情,还是我做错了?

0 投票
2 回答
1155 浏览

python - MongoAlchemy 嵌入式文档

有谁知道如何使用 mongo alchemy 创建带有嵌入式文档的模型?我在文档中进行了搜索,但没有任何关于这样做的示例。

0 投票
1 回答
1689 浏览

mongodb - MongoAlchemy 查询嵌入文档

我想知道如何使用 MongoAlchemy 进行嵌入式文档操作。但我没有找到任何关于这些的文件。谁能给我一些帮助?

这是演示代码:

  1. 我想查询user_id为“user_c”的数据,只返回一条评论,我该怎么做?以下这些方法是 MongoAlchemy 推荐的吗?顺便说一句,这些方法将返回整个文档。

    /li>
  2. 如何将“user_c”更改为通过查询找到的“user_c_new”?

  3. 如何删除 user_id 为“user_b”的一条评论?
0 投票
1 回答
546 浏览

python - 使用 MongoAlchemy 按内部列表的值进行过滤

我正在使用 Flask-MongoAlchemy 构建一个 Flask 应用程序,但在组合查询时遇到了麻烦。

对于“组”文档,我有以下文档结构:

我正在尝试编写方法Participant.groups(),该方法调用数据库以返回所有participant_id匹配的 Group 实例self.id

不过,我正在阅读 MongoAlchemy 文档,并且发现很少关于如何基于内部列表进行查询。

在查看了此处的 SO 答案后,我尝试了

但也许不足为奇的是,它在尝试评估时会引发错误participants.participant_id

有什么见解吗?我已经看到使用常规 MongoDB 语法的示例,但不知道如何使用 MongoAlchemy 实现这一点。

谢谢!!

0 投票
2 回答
1335 浏览

python - Store a mongo_id on a MongoAlchemy Document?

Is it possible to store a mongo_id as an ObjectId object in a MongoAlchemy field? I've been able to store an ObjectId inside of a document I defined manually, but it seems as though I'm restricted to storing the string value of the id in the context of the MongoAlchemy ORM.

Here's some of my code:

You'll see that I'm able to store a mongo_id as an ObjectId object in the Group method add_participant (since it's creating document manually, not through the MongoAlchemy ORM), but am forced to convert the mongo_id to a string in order to store it in a db.StringField.

I tried storing the original ObjectId in a db.AnythingField, but was then unable to filter by it.

Does anyone know if it's possible to store an ObjectId in a MongoAlchemy field and then filter by it in a database query?

Thank you!

0 投票
1 回答
185 浏览

python - MongoAlchemy StringField 意外替换为 QueryField?

在使用 MongoAlchemy 时,我一直在努力解决一个奇怪的错误。

我的模型name = db.StringField()上有一个。Participant大多数情况下它工作正常,但由于某种原因,该字段偶尔会被QueryField. 如果我从模块中重新加载我的Participant课程,它会在一段时间内正常工作,但随后又会中断。

这是发生这种情况的终端会话:

我是 MongoDB 的新手,对于将其投入生产非常紧张——有谁知道幕后可能会发生什么?

因此,为了回应 Jeff 的评论,我有另一个会话,问题发生在查询之外:

我不记得在最后一次会议上做任何其他事情,除了可能在某个时候保存文件。似乎有一些与时间相关的组件——如果我离开解释器一段时间然后回来,通常会发生这种情况,但是我无法确定导致这种情况的特定行为。

另外,仅供参考:

最后,当我将name字段添加到__init__函数并尝试实例化一些对象时,出现以下错误(早期版本未向 init 传递任何参数):