相关疑难解决方法(0)

如何在mongodb中加入查询?

我有这样的用户文档集合:

User {
   id:"001"
   name:"John",
   age:30,
   friends:["userId1","userId2","userId3"....]
}
Run Code Online (Sandbox Code Playgroud)

用户有很多朋友,我在SQL中有以下查询:

select * from user where in (select friends from user where id=?) order by age
Run Code Online (Sandbox Code Playgroud)

我想在MongoDB中有类似的东西.

schema join mongodb

35
推荐指数
5
解决办法
8万
查看次数

在 mongoose 中使用 mongodb 多键索引方法索引引用数组

我的架构有一个 ObjectIds 数组,它们是另一个架构的引用。我想要的是使用 mongodb 的多键索引方法来索引这个数组条目。因此,给定ProductCat集合中某个文档的ObjectId,我可以列出当前集合中在_pro_cat字段中具有给定ObjectId 的所有文档。

我对我应该在猫鼬模式声明中声明该字段的确切方式感到困惑,这是我正在尝试的:

_pro_cat: { type: [mongoose.Schema.Types.ObjectId], ref: 'ProductCat', index: true }

_pro_cat: [{ type: mongoose.Schema.Types.ObjectId, ref: 'ProductCat', index: true }]
Run Code Online (Sandbox Code Playgroud)

该系列的名称是卖家。我通过使用架构中的引用来建立关系,实际字段值是一个数组,每个类型为 ObjectId,这将是另一个集合(在本例中为 ProductCat)中文档的 ObjectId。如果我索引这个字段,即。_pro_cat,然后在 ProductCat 集合中给定一个文档的 ObjectId,我将能够找到在其数组字段 _pro_cat 中给出 ObjectId 的卖方集合中的所有文档。

我想我可能需要调用一个单独的索引函数。但我认为这是一个字段级索引,所以可能不需要。

我怀疑后者仅适用于子文档而不适用于参考文献。如果有人能对此有所了解,将不胜感激。谢谢。

附带问题:[已解决] 在 mongodb 文档中,它说多键索引是自动的。多键索引。这是否意味着如果该字段被索引,使用上述方法,那么 mongo 将识别该字段是一个数组并使用多键索引。OR 是否意味着所有数组类型的字段都将被索引,而无需明确告诉它索引。

非常感谢。

有关的

mongoose mongodb node.js

3
推荐指数
1
解决办法
2487
查看次数

标签 统计

mongodb ×2

join ×1

mongoose ×1

node.js ×1

schema ×1