问题标签 [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.
python - MongoAlchemy 中复杂的字符串查询
我正在学习 MongoAlchemy,它是 MongoDB 的 Python 驱动程序之上的一层。假设有一个 Python 类,映射自 MongoDB 对象,如下所示:
我像这样查询数据库:
它工作正常,但现在我想查询数据库以获取不区分大小写的名称(“geronimo”和“Geronimo”),或者查找其中包含两个 o 的所有名称。query.filter(Person.name[1:] == 'eronimo')
并且这样不起作用,因为 Person.name 不是字符串,而是 QueryField 对象。
我如何在 MongoAlchemy 中进行如此复杂的查询?
python - MongoDB:将用户嵌入评论
对于非常简单的问题(或不是非常),我找不到“最佳”解决方案
拥有一组经典的数据:附加到用户的帖子、附加到帖子和用户的评论。
现在我无法决定如何构建方案/类
方法是将 user_id 存储在评论和内部。
但是当我在页面上有 200 条评论时会发生什么?
或者当我在页面上有 N 个帖子时?
我的意思是显示用户信息(如姓名、头像)应该是对数据库的 200 个额外请求
另一种解决方案是将用户数据嵌入到每个评论和每个帖子中。
但首先 -> 这是巨大的开销,第二 -> 模型系统正在损坏(使用 mongoalchemy),第三 -> 用户可以更改他的信息(如头像)。然后呢?据我了解,对大量评论或帖子进行更新操作并不是简单的操作......
你有什么建议?每页 200 个对 mongodb 的请求是否可以(必须以性能为目标)?
或者我可能只是错过了一些东西......
python - 在 MongoAlchemy 的索引中设置 TTL
我可以以某种方式expireAfterSeconds
在 MongoAlchemy 中指定集合的索引,或者我需要像这样进行破解:
python - 在 Flask-MongoAlchemy 中创建动态文档
我将 Flask-MongoAlchemy 用于个人项目。我有一些 .cfg 输入文件,我想解析并制作成 mongodb 文档条目。不幸的是,.cfg 文件是扁平的,我想从每个文件中制作多个不同的文档。我想定义我想在一个地方使用的结构(在一个单独的 .cfg 文件中)和 1)在解析输入文件时将其转换为这种格式,以及 2)使用这种结构创建 MongoAlchemy 文档类。我只遇到了#2 的问题,但我对解决这两个目标的替代实现持开放态度。
这是我的输入 .cfg 文件。我想把它做成多个 mongodb 文档。
这是定义结构的documents.cfg。这些值是用于区分类型的数字。
这是类定义
我解析documents.cfg 以创建两个字典:
然后我将这些传递给相应的 init() 方法
这成功地添加了属性。但是,在创建 Bar(或 Baz)的实例时,我收到此错误。
我的猜测是,这与 MongoAlchemy 字段应该是类属性而不是实例属性有关。有什么帮助吗?
python - 获取 Flask-MongoAlchemy 文档中的字段值
我查看了文档,并广泛搜索了谷歌,但没有找到解决我的问题的方法。
这是我的readRSS
函数(注意“get”是 Kenneth Reitz 的 requests 模块的一个方法):
这是我的 MongoAlchemy 课程之一:
如您所见,我必须readRSS
在类的函数中调用该函数,所以我可以通过self
,因为它依赖于字段feedname
和location
.
我想知道是否有其他方法可以做到这一点,所以我可以将readRSS
返回值保存到Feed
文档中的一个字段中。我尝试将readRSS
函数的返回值分配给函数内的变量__dict__
——这也不起作用。
我的应用程序中有该功能,但我想将结果保存到文档中以减轻服务器上的负载(我从中获取 RSS 提要的服务器)。
有没有办法做我打算做的事情,还是我做错了?
python - MongoAlchemy 嵌入式文档
有谁知道如何使用 mongo alchemy 创建带有嵌入式文档的模型?我在文档中进行了搜索,但没有任何关于这样做的示例。
mongodb - MongoAlchemy 查询嵌入文档
我想知道如何使用 MongoAlchemy 进行嵌入式文档操作。但我没有找到任何关于这些的文件。谁能给我一些帮助?
这是演示代码:
我想查询user_id为“user_c”的数据,只返回一条评论,我该怎么做?以下这些方法是 MongoAlchemy 推荐的吗?顺便说一句,这些方法将返回整个文档。
/li>如何将“user_c”更改为通过查询找到的“user_c_new”?
- 如何删除 user_id 为“user_b”的一条评论?
python - 使用 MongoAlchemy 按内部列表的值进行过滤
我正在使用 Flask-MongoAlchemy 构建一个 Flask 应用程序,但在组合查询时遇到了麻烦。
对于“组”文档,我有以下文档结构:
我正在尝试编写方法Participant.groups()
,该方法调用数据库以返回所有participant_id
匹配的 Group 实例self.id
。
不过,我正在阅读 MongoAlchemy 文档,并且发现很少关于如何基于内部列表进行查询。
在查看了此处的 SO 答案后,我尝试了
但也许不足为奇的是,它在尝试评估时会引发错误participants.participant_id
。
有什么见解吗?我已经看到使用常规 MongoDB 语法的示例,但不知道如何使用 MongoAlchemy 实现这一点。
谢谢!!
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!
python - MongoAlchemy StringField 意外替换为 QueryField?
在使用 MongoAlchemy 时,我一直在努力解决一个奇怪的错误。
我的模型name = db.StringField()
上有一个。Participant
大多数情况下它工作正常,但由于某种原因,该字段偶尔会被QueryField
. 如果我从模块中重新加载我的Participant
课程,它会在一段时间内正常工作,但随后又会中断。
这是发生这种情况的终端会话:
我是 MongoDB 的新手,对于将其投入生产非常紧张——有谁知道幕后可能会发生什么?
因此,为了回应 Jeff 的评论,我有另一个会话,问题发生在查询之外:
我不记得在最后一次会议上做任何其他事情,除了可能在某个时候保存文件。似乎有一些与时间相关的组件——如果我离开解释器一段时间然后回来,通常会发生这种情况,但是我无法确定导致这种情况的特定行为。
另外,仅供参考:
最后,当我将name
字段添加到__init__
函数并尝试实例化一些对象时,出现以下错误(早期版本未向 init 传递任何参数):