gpt4 book ai didi

javascript - 无法读取未定义 Express API 的属性 'count'

转载 作者:太空宇宙 更新时间:2023-11-03 23:47:51 25 4
gpt4 key购买 nike

当我调用 Create Option api 时,它工作正常,但是当我调用 list api 时,出现错误:无法读取未定义 Express(Node + MongoDB)API 的属性“count”。这是我的选项 Controller 文件代码。我有 Log DB.ProductDoption ,得到结果但计数功能不起作用。

const _ = require('lodash');
const Joi = require('joi');

exports.create = async (req, res, next) => {
try {
const validateSchema = Joi.object().keys({
name: Joi.string().required(),
key: Joi.string().required(),
description: Joi.string().allow(['', null]).optional(),
options: Joi.array().items(Joi.object().keys({
key: Joi.string().required(),
displayText: Joi.string().required()
})).required()
});
const validate = Joi.validate(req.body, validateSchema);
if (validate.error) {
return next(PopulateResponse.validationError(validate.error));
}

const key = Helper.String.createAlias(req.body.key);
console.log(DB.ProductDoption);
const count = await DB.ProductDoption.count({ key });
if (count || validate.value.key === '_custom') {
return next(PopulateResponse.error({
message: 'Please add unique name for key'
}));
}

const option = new DB.ProductDoption(validate.value);
await option.save();
res.locals.option = option;
return next();
} catch (e) {
return next(e);

}
};


exports.list = async (req, res, next) => {
const page = Math.max(0, req.query.page - 1) || 0; // using a zero-based page index for use with skip()
const take = parseInt(req.query.take, 10) || 10;

try {
const query = Helper.App.populateDbQuery(req.query, {
text: ['name', 'key', 'description']
});

const sort = Helper.App.populateDBSort(req.query);
const count = await DB.ProductDoption.count(query);
const items = await DB.ProductDoption.find(query)
.collation({ locale: 'en' })
.sort(sort).skip(page * take)
.limit(take)
.exec();

res.locals.optionList = {
count,
items
};
next();
} catch (e) {
next(e);
}
};

最佳答案

collection.count 已弃用,并将在未来版本中删除。使用 Collection.countDocuments 或 Collection.estimatedDocumentCount 代替

关于javascript - 无法读取未定义 Express API 的属性 'count',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60388964/

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