当前位置: 首页 > 知识库问答 >
问题:

为什么猫鼬总是在我的收藏名后面加一个s

楚宪
2023-03-14

例如,此代码导致创建一个名为“datas”的集合

var Dataset = mongoose.model('data', dataSchema);

这个代码会创建一个叫做“用户”的集合

var User = mongoose.model('user', dataSchema);

谢谢

共有3个答案

乜坚成
2023-03-14

从猫鼬5开始。x您可以完全禁用它:

mongoose.pluralize(null);
季城
2023-03-14

猫鼬的API结构。模型是这样的:

Mongoose#model(name, [schema], [collection], [skipInit])

mongoose所做的是,当没有传递集合参数时,mongoose通过将模型名称复数化来生成集合名称。如果不喜欢此行为,请传递集合名称或设置schemas集合名称选项。

示例

var schema = new Schema({ name: String }, { collection: 'actor' });

schema.set('collection', 'actor');

var collectionName = 'actor'
var M = mongoose.model('Actor', schema, collectionName);
连晟
2023-03-14

猫鼬正试图通过将你的收藏名称复数化来变得聪明。但是,您可以强制它成为您想要的任何内容:

var-dataSchema=新模式({..},{collection:'data'})

 类似资料:
  • 问题内容: 例如,此代码导致创建名为“数据”的集合 并且此代码导致创建了一个名为“用户”的集合 谢谢 问题答案: 猫鼬通过使收藏名称复数来尝试变得聪明。但是,您可以强制将其设置为所需的值:

  • 问题内容: 我想让用户能够在我的Node应用程序中创建集合。我真的只见过猫鼬集合中的硬编码示例。有人知道是否有可能用猫鼬动态创建集合吗?如果是这样,那么一个例子将非常有帮助。 基本上,我希望能够在不同的集合中存储不同“事件”的数据。 IE事件:event1,event2,… eventN 用户可以在那里创建自己的自定义事件并将数据存储在该集合中。最后,每个事件可能有成百上千的行。我想让用户能够对他

  • 问题内容: 我正在尝试使用猫鼬返回dbs集合的列表。我遵循此处列出的指示,但http://grokbase.com/t/gg/mongoose- orm/122xxxr7qy/mongoose-get-a-list-of-all- collections 。所以这是我的代码 唯一的问题是名称返回的是未定义的。因此,甚至可以仅使用香草猫鼬返回收藏列表吗? 问题答案: 连接后尝试运行您的集合名称功能。

  • 问题内容: 我有和该文件使用Mongoose与我的数据库交互,并且我习惯于从中调用函数: 我的server.js从中调用了三个函数: 我不明白为什么会收到此错误: 我究竟做错了什么?我找到了一篇文章,但什么也做不了。 问题答案: 什么是TransientTransactionError A 是归类为暂时性的事务性错误,如果重试,它 可能 会成功。此外,如果未采取任何写锁定且事务(新数据)未反映在事

  • 问题内容: 我正在使用版本3和2.2。我注意到一个字段已经开始出现在我的文档中。与版本控制有关吗?如何使用? 问题答案: 从这里: 该是对每个文档设置时,首先由猫鼬创建一个属性。此键值包含文档的内部修订版。此文档属性的名称是可配置的。默认值为。 如果这与您的应用程序冲突,则可以这样配置:

  • 我正在使用MongoDB版本2.2的版本3。我注意到一个字段开始出现在我的文档中。它与版本控制有关吗?它是如何使用的?