gpt4 book ai didi

javascript - MongoDB - 查询难题 - 文档引用或子文档

转载 作者:IT老高 更新时间:2023-10-28 23:21:30 28 4
gpt4 key购买 nike

我在存储在 MongoDB 中的一些数据遇到了一些问题(注意:我使用 mongoose 作为 ODM)。我有两个架构:

mongoose.model('Buyer',{
credit: Number,
})

mongoose.model('Item',{
bid: Number,
location: { type: [Number], index: '2d' }
})

Buyer/Item 将具有父/子关联,具有一对多的关系。我知道我可以将项目设置为嵌入到买方文档的子文档我可以创建两个单独的文档,其中对象 id 相互引用。

我面临的问题是我需要查询出价低于买方信用的项目,还需要查询位置靠近某个地理坐标的位置。。 p>

为了满足第一个标准,我似乎应该将 Items 作为子文档嵌入,以便我可以比较这两个数字。但是,为了使用 geoNear 查询比较位置,似乎最好将文档分开,否则我无法对每个子文档执行 geoNear。

有什么方法可以对这些数据执行这两项任务?如果是这样,我应该如何构建我的数据?如果没有,有没有一种方法可以让我执行一个查询,然后对第一个查询的结果执行第二个查询?

感谢您的帮助!

最佳答案

还有另一种选择(除了嵌入和规范化)在 mongodb 中存储层次结构,即将它们存储为 tree structures .在这种情况下,您会将买家和商品存储在单独的文档中,但在同一个集合中。每个 Item 文档都需要一个指向其 Buyer(父)文档的字段,并且每个 Buyer 文档的父字段都将设置为 null。我链接的文档解释了您可以选择的几种实现。

关于javascript - MongoDB - 查询难题 - 文档引用或子文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29904322/

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