gpt4 book ai didi

mongodb - 有没有办法在 mongoDB 中索引一个文档来填充它的引用?

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

如果我有这两个集合:

Book: {
title: String,
description: String
author: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
}

User: {
_id: (generated by mongo)
username: String
}

我想为 FTS 索引 Book。我是否可以这样做,即使用户名未明确存储在书籍集合中,也可以通过用户名进行搜索?

换句话说,是否可以(或可取)索引填充的集合?

谢谢

最佳答案

正如布莱克七世所说,不可能跨集合建立索引。

在这种全文搜索对我的应用程序至关重要的情况下,经典的解决方案是将字段非规范化并将其包含在两个集合中。在这种情况下,您的 Book 集合将如下所示:

Book: {
title: String,
description: String
author: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
### New field ###
username: String
},
}

现在您可以在 author.username 上建立索引。

这完全取决于您的应用程序是否是一个好主意。缺点包括跨集契约(Contract)步 username 并为每个文档增加不必要的权重。

关于mongodb - 有没有办法在 mongoDB 中索引一个文档来填充它的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34528723/

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