gpt4 book ai didi

javascript - Mongoose ODM 在 MongoDB 集合中保存错误的模型名称

转载 作者:行者123 更新时间:2023-12-01 01:07:47 24 4
gpt4 key购买 nike

你好 Stackoverflowers!

我在 Mongoose 创建名为“Safes”的集合时遇到了一个奇怪的问题。

这是我的示例代码:

const mongoose = require('mongoose')
mongoose.connect('mongodb://mongodb:27017/test', { useNewUrlParser: true })

const Safe = mongoose.model('Safe', { name: String })

const safe = new Safe({ name: 'foobar' })
safe.save().then(() => console.log('done'))

当我打开数据库 shell 并发出此命令时:

mongo test --eval "db.getCollectionNames()"

其响应为:

MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:27017/test?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f9cfa8b9-58e2-40b8-9907-ecd18039935a") }
MongoDB server version: 4.0.6
[ "saves" ]

现在,我尝试创建一个集合名称为“Safes”的模型,而 mongoose 似乎将其从 safes > saves 更改为...

Mongoose 有某种无法使用的 protected 模型吗?

最佳答案

似乎他们对以“fe”结尾的单词制定了规则,因为它们通常转换为复数形式“ves”(刀 -> 刀)。

您可以通过向架构添加另一个参数来设置自己的集合名称:

const safeSchema = new Schema({ name: String }, { collection: 'safes' })

关于javascript - Mongoose ODM 在 MongoDB 集合中保存错误的模型名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55462708/

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