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

2024-03-17

我的架构有一个 ObjectId 数组,它们是对另一个架构的引用。我想要的是使用 mongodb 的多键索引方法来索引这个数组条目。 所以给定一个ObjectId中的某些文档的产品目录集合,我可以列出我当前集合中具有给定的所有文档ObjectId in the _pro_cat field.

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

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

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

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

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

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

附带问题:[已解决]在 mongodb 文档中,它说多键索引是自动的。多键索引 http://docs.mongodb.org/manual/core/index-multikey/。这是否意味着如果使用上述方法对该字段进行索引,那么 mongo 将识别该字段是一个数组并使用多键索引。或者这是否意味着所有数组类型的字段都将被索引,而不需要显式地告诉它索引。

多谢。

related https://stackoverflow.com/questions/10568281/mongoose-using-populate-on-an-array-of-objectid/


多键索引 http://docs.mongodb.org/manual/core/index-multikey/ means如果您告诉 mongo 对字段进行索引,则数组字段中的每个项目都会被索引。

It 并不意味着所有数组字段都会自动索引,无需显式告诉 mongo 为字段建立索引。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 mongoose 中使用 mongodb 多键索引方法索引引用数组 的相关文章

随机推荐

  • 获取 WebException 错误中的错误号

    如何获取WebException错误中的错误号 try HttpWebRequest request HttpWebRequest HttpWebRequest Create site HttpWebResponse response Ht
  • 跳转后 vim 中自动 'zz'

    当我跳转到世界上的任何地方后 无论是在当前文件还是在不同的文件中 是否可以让vim自动运行zz 重新以当前行为中心 在搜索之类的事情之后我想要这个 ctrl o and ctrl i 以及几乎任何运动 除了hjkl Thanks Voila
  • 不安装jre就运行java?

    正如所问和回答的here https stackoverflow com questions 2678702 install python 2 6 without using installer on win32 python 有一种无需安
  • 为什么在VS2010中添加服务引用时,没有生成客户端类?

    我快要疯了 我相信 也就是说 我以前从未遇到过这样的问题 而且似乎没有人 Google 已索引 遇到同样的问题 每当我向 VS2010 项目添加对特定 ASMX 服务的引用时 都会生成所有代码 并且有一个接口ServiceSoap它代表了服
  • 二维数组指针和 *arr[] 有什么区别?

    我试图理解这样的数组之间有什么区别 int arr 2 2 0 1 2 3 int pArr int arr for int i 0 i lt 4 i printf d pArr i 和这个 int foo 2 arr1 arr2 Let
  • null 和空字符串之间的区别[重复]

    这个问题在这里已经有答案了 空字符串 String s null 和一个空字符串 String s 这就是我所拥有的 String s1 print statement does not print any thing for s1 but
  • Haskell 如何创建 Word8?

    我想写一个简单的函数来分割ByteString into ByteString using n 作为分隔符 我的尝试 import Data ByteString listize ByteString gt ByteString listi
  • jQuery .ajax() 与 jsonp 不调用成功回调函数

    我有一个 facebook iframe 应用程序 它向我的服务器发出跨域请求并请求 JSONP 格式的数据 这是我的客户端代码 jQuery ajax url type post data method set user prizes d
  • 为什么 Python 不允许在其定义中引用类?

    Python 3 和 2 不允许您在其主体内引用类 方法中除外 class A static attribute A 这就提出了一个NameError在第二行 因为 A is not defined 而这 class A def metho
  • MPMoviePlayerViewController 无法在 iOS 7 上运行

    我有一个在 iOS 7 之前有效的代码 更新后电影无法播放 void setMovie NSURL newMovie autoPlay BOOL autoPlay movieView MPMoviePlayerViewController
  • 检测 JSplitPane 分隔线移动

    有没有办法检测 JSplitPane 分隔线何时移动 有没有办法为分隔线移动添加监听器 JPanel panel1 new JPanel JPanel panel2 new JPanel JSplitPane sp new JSplitPa
  • 如何在orders、ordersDetails模式中保存、处理订单总金额?

    几个月前 当我开始设计应用程序数据库模式时 我被告知不要存储相同的数据 计算数据数据库中的多个位置 规范化 如果我这样做 当我在一个地方更新数据而在另一个地方不更新时 我会产生一系列错误 所以我做了一个订单表和订单详细信息表 像这样的东西
  • XPath 适合 HTML5 格式吗?

    我们知道XPath是为XML解析而创建的 HTML5 怎么样 因为它不一定遵守 XML 规则 有 2 种 XML 词法 XML 和解析 XML XPath 针对解析的 XML 表示形式工作 例如 DOM 或XDM http www w3 o
  • 服务器发送 200:OK 时 Backbone model.save 返回错误

    我定义了以下骨干模型 var User Backbone Model extend url login contentType application com example auth json defaults userName pass
  • PHP中的while循环问题

    我的标记结构如下 div div value1 div div value2 div div value3 div div value4 div div class clear div div div div value5 div div
  • ASP.NET 2.0 网站可以引用 WCF Web 服务吗?

    我们公司目前有一个网站部署在Windows 2000操作系统中 这意味着我们只能在该机器上安装 NET 2 0 升级网络服务器操作系统是不可能的 因为该网络服务器还托管我们国家的其他网络应用程序 作为我们 IT 政策的一部分 出于安全原因
  • 在内容级别与 google chrome 扩展一起使用时,未定义 DP_jQuery_*

    我正在开发一个谷歌浏览器扩展 我正在尝试在现有网页 内容级别 的 jquery ui 对话框中使用 jquery ui datepicker 就像这样 截屏 http sites google com site kamimark files
  • 如何获取最近经过身份验证的用户?

    我正在使用 MVC 3 并且刚刚实现了 FormsAuthenticationService 的包装器 类似于以下内容 public void SignIn string username bool createPersistantCook
  • 小程序中的 java.lang.reflect.invocacytargetexception 错误 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我的应用程
  • 在 mongoose 中使用 mongodb 多键索引方法索引引用数组

    我的架构有一个 ObjectId 数组 它们是对另一个架构的引用 我想要的是使用 mongodb 的多键索引方法来索引这个数组条目 所以给定一个ObjectId中的某些文档的产品目录集合 我可以列出我当前集合中具有给定的所有文档Object