gpt4 book ai didi

mongodb - 在单个 mongodb 查询中返回父子链?

转载 作者:可可西里 更新时间:2023-11-01 10:31:59 25 4
gpt4 key购买 nike

我有一个类似结构的文件系统,其中有一堆文件夹,每个文件夹都包含其父文件夹的对象 ID。给定一个特定的文件夹,我想返回这个文件夹的路径;我能想到的唯一方法是遍历链接对象 ID 的树,直到到达根。

仅使用 db.find 执行此操作,我将不得不发送与文件夹深度相当的查询数量。然而,这并没有扩展,所以我想知道有一种方法可以让 mongo 在单个请求中为我链接连接的 ID。这可能吗?或者至少有更好的方法吗?

最佳答案

没有真正的方法可以像您首先要求的那样在单个 MongoDB 查询中执行此操作。

您可以将路径反规范化为每个对象,这样它就不必遍历所有父对象。但是任何更改都需要对每个 child 进行更新。

基本上每个folder有...

{
...,
name: "my_folder",
path: "\path\to\folder",
children: ...,
}

当你更新 folder您需要遍历文件夹的子项并通过 parent.path 更新它们, 添加 parent.name ,然后将其放入 child 的 path 中属性(property)。沿着链更新。更新更昂贵,但读取更便宜。

关于mongodb - 在单个 mongodb 查询中返回父子链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21322994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com