gpt4 book ai didi

node.js - 我如何填充 mongoosastic?

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

我的目标是填充 mongoosastic 搜索中的某些字段,但如果我执行以下代码,它总是会返回

enter image description here

这是代码

var mongoose = require('mongoose');
var Category = require('./category');
var mongoosastic = require('mongoosastic');
var Schema = mongoose.Schema;

var ProductSchema = new Schema({
category: { type: Schema.Types.ObjectId, ref: 'Category', es_schema: Category, es_indexed:true, es_select: 'name'},
name: String,
price: Number,
image: String
});

ProductSchema.plugin(mongoosastic, {
hosts: [
'localhost:9200'
],
populate: [
{path: 'category', select: 'name'}
]
});

module.exports = mongoose.model('Product', ProductSchema);


var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var CategorySchema = new Schema({
name: { type: String, unique: true, lowercase: true}
});

module.exports = mongoose.model('Category', CategorySchema);

api.js

router.post('/search', function(req, res, next) {
console.log(req.body.search_term);
Product.search({
query_string: { query: req.body.search_term }
}, function(err, results) {
if (err) return next(err);
res.json(results);
});
});

我应该怎么做才能填充 mongoosastic 中的某个类别?

最佳答案

你正在使用

populate: [
{path: 'categories', select: 'name'}
]

但是你代码中的categoriesundefined

You have to use category in the place of categories as you have mentioned the key as category in the schema declaration

希望它能解决你的问题。

关于node.js - 我如何填充 mongoosastic?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35183093/

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