Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 当表名中有大写字母时,Moongoose Model.find()返回空数组_Node.js_Mongoose - Fatal编程技术网

Node.js 当表名中有大写字母时,Moongoose Model.find()返回空数组

Node.js 当表名中有大写字母时,Moongoose Model.find()返回空数组,node.js,mongoose,Node.js,Mongoose,当表名包含大写字母(例如fooBar)时,Moongoose Model.find()返回一个空数组。如果我将表名和搜索字符串都更改为小写,而不更改任何其他内容,那么效果很好 这是意料之中的吗?我想我在什么地方读到过,在mongoose中,集合名默认被视为小写。我总是通过使用模型来规避它: const mongoose=require('mongoose'); const Schema=mongoose.Schema; const FoobarSchema=新架构({ 名称:{type:Stri

当表名包含大写字母(例如fooBar)时,Moongoose Model.find()返回一个空数组。如果我将表名和搜索字符串都更改为小写,而不更改任何其他内容,那么效果很好


这是意料之中的吗?

我想我在什么地方读到过,在mongoose中,集合名默认被视为小写。我总是通过使用模型来规避它:

const mongoose=require('mongoose');
const Schema=mongoose.Schema;
const FoobarSchema=新架构({
名称:{type:String}
},{集合:'fooBar'});
module.exports=mongoose.model('fooBar',FoobarSchema);

重要的部分是您在模式定义中对集合的名称。在导出中,“fooBar”可以被命名为任何您想要的名称,并且是在代码中引用模型的一种方法。

我认为当您设置模型时,您应该在mongoose中为其指定第三个参数。model('name',schema,'fooBar')fooBar是驼峰大小写名称。