gpt4 book ai didi

node.js - Mongoosejs 文本索引一个对象

转载 作者:行者123 更新时间:2023-12-05 06:39:58 27 4
gpt4 key购买 nike

目前我在引用对象中的文本索引时遇到问题这是代码

架构

var UserSchema = new mongoose.Schema({
username: String,
fullname: String,
email: {
type: String,
lowercase: true,
unique: true
},
supplier: Boolean,
supplierdetails: {
name: String,
businesstype: String,
location: String,
products: String,
revenue: String,
employees: String,
yearsestablished: String
}
});
UserSchema.index({supplierdetails: 'text'});
module.exports = mongoose.model('User', UserSchema);

应用程序接口(interface)

router.post('/findsupplier', function(req, res){
User.find({supplier: true, $text: {$search: req.body.supplyData}}, {score: {$meta: 'textScore'}})
.sort({score: {$meta: 'textScore'}})
.exec(function(err, supplyResult){
if(err)
throw err;
else
res.json(supplyResult);
});
});

正如您在这里看到的,“supplierdetails”是我架构中的一个对象,我告诉 mongoosejs 对其进行文本索引,因为我想对包含名称、业务类型、产品、位置的整个 supplierdetails 对象进行文本索引搜索等等,我在我的 mongo shell 上看到了创建的索引 enter image description here

但是还是不行这是我在数据库中的数据

enter image description here

我搜索了“dog”或“shiba”,但仍未返回任何结果。

我使用文本索引的其他功能运行良好,唯一的区别是,我的文本索引不是对象,它只是一个字符串属性,并且运行良好

我做错了吗?

最佳答案

根据documentation ,您只能在字符串或字符串数​​组上创建文本索引,而不能在对象(恰好包含字符串)上创建文本索引。

关于node.js - Mongoosejs 文本索引一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43999777/

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