我想浏览Mongoose存储在Mongodb中的原始数据。去哪儿了?我有一个名为Profile的模式,其中存储了多个配置文件,但是使用Mongodb
shell db.Profiles.find()
,db.Profile.find()
并且不返回任何内容。
架构
var Profile = new Schema({
username : {type: String, index: true, required: true}
, password : {type: String, required: true}
, name : {type: String, required: true}
});
使用Mongoose时的默认集合名称是小写的复数模型名称。
因此,如果要为ProfileSchema
as 创建模型:
var ProfileModel = mongoose.model('Profile', ProfileSchema);
集合名称是profiles
; 因此您将db.profiles.find()
在shell中找到其内容。
请注意,mongoose.model
如果您不喜欢默认行为,则可以提供自己的集合名称作为第三个参数:
var ProfileModel = mongoose.model('Profile', ProfileSchema, 'MyProfiles');
将定位到名为的集合MyProfiles
。
问题内容: 我是Node.js,Mongoose和Expressjs的新手。我试图通过以下代码在MongoDB中使用Mongoose创建一个表“ feedbackdata”。但是它被创建为“ feedbackdata * s *”。通过谷歌搜索,我发现猫鼬使用了复数规则。任何人都可以帮助我删除复数规则吗?或“ feedbackdata”表的代码应如何? 下面是我的代码: }); 问题答案: 该文件
问题内容: 我有和该文件使用Mongoose与我的数据库交互,并且我习惯于从中调用函数: 我的server.js从中调用了三个函数: 我不明白为什么会收到此错误: 我究竟做错了什么?我找到了一篇文章,但什么也做不了。 问题答案: 什么是TransientTransactionError A 是归类为暂时性的事务性错误,如果重试,它 可能 会成功。此外,如果未采取任何写锁定且事务(新数据)未反映在事
问题内容: 我正在使用版本3和2.2。我注意到一个字段已经开始出现在我的文档中。与版本控制有关吗?如何使用? 问题答案: 从这里: 该是对每个文档设置时,首先由猫鼬创建一个属性。此键值包含文档的内部修订版。此文档属性的名称是可配置的。默认值为。 如果这与您的应用程序冲突,则可以这样配置:
问题内容: 我想在MongoDB中做一个批量插入工作,并且在mongoose中找到了两种方法: 一种方法是使用: 另一种方法是: 两者都可以完成批量插入作业,但是它们之间有什么区别? 哪个效率更高? 问题答案: 在Mongoose中,有and (后者严格不是Mongoose的一部分,而是底层MongoDB驱动程序的一部分)。 根据Mongoose开发人员的说法,当用一系列文档调用它们时,它们基本上
我正在使用MongoDB版本2.2的版本3。我注意到一个字段开始出现在我的文档中。它与版本控制有关吗?它是如何使用的?
问题内容: 和猫鼬有什么区别?参考哪个更好? 问题答案: 从文档中: Mongoose默认情况下为您的每个模式分配一个id虚拟获取器,该获取器将文档_id字段强制转换为字符串,对于ObjectIds,则返回其hexString。 因此,基本上,getter返回文档的字符串表示形式(默认情况下将其添加到所有MongoDB文档中,并且默认类型为)。 关于什么是更好的引用,这完全取决于上下文(即,您想要