MongoDB解除参考的模式

2024-05-29 03:09:20 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有这样的文件:

{
    "_id" : ObjectId("5497b4281a78a9120872ca32"),
    "title" : "Thrifty Kitchen",
    "description" : "Damn ugly",
    "products" : [
        ObjectId("54990eeb1a78a91a5758af75"),
        ObjectId("a78a91a5758af7554990eeb1"),
        ObjectId("a5758af990eeb17554a78a91")
    ]
}

…如果(使用pymongo)我想将此文档传递到我的网页模板,在哪里可以插入查询来完成此操作?我知道我必须执行一个“$in”查询才能得到这些结果,但是在ORM世界中,我可以在model类上编写一个方法,然后公开一个“get_products”方法。在这里,由于我的视图逻辑直接与Mongo交互,并且中间没有ORM,那么处理这些解析的常见实践或模式是什么?在

^{pr2}$

而且,我还没有在我的google上看到过,但是有没有人把查询嵌入到类的方法中,这样你就可以向结果对象添加功能了?有点像使用ORM但没有模式定义。。。在


Tags: 文件方法idtitleormdescriptionthriftyproducts
1条回答
网友
1楼 · 发布于 2024-05-29 03:09:20

正如您所料,PyMongo的答案很简单:

resolved_products = list(mycollection.find({'_id': {'$in': result['products']}}))

MongoEngine和其他mongodbodm提供了helper方法来进行这种解引用。但是它们有其自身的复杂性和开销;我更喜欢直接查询相关文档,如我所示。在

相关问题 更多 >

    热门问题