mongoose连接collection后自动加s的问题

原创 2016年08月28日 23:58:30

这两天折腾mongoose,发现数据成功写入集合了,但是在Terminal查询的时候却查不到
于是show collections后发现在原来的集合底下,又生成了一个加了s的集合,shenmegui

查了一下,发现是mongoose.model()的问题

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

在官方的api文档里面有解释(我不听)

When no collection argument is passed, Mongoose produces a collection name by passing the model name to the utils.toCollectionName method. This method pluralizes the name. If you don’t like this behavior, either pass a collection name or set your schemas collection name option.

当没有传入collection参数时,Mongoose会通过model name(就是第一个参数),调用utils.toCollectionName方法产生一个collection name,而这个方法会使name变成复数形式。如果你不想要这个过程,只要传入collection name参数或设置Schema中的collection name选项。

就像这样:

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

// or

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

// or

var collectionName = 'actor'
var M = mongoose.model('Actor', schema, collectionName);

什么坑爹设定…

参考

版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载请注明来源http://blog.csdn.net/azureternite

mongodb概念--文档、集合、数据库、shell

Mongodb不是关系型数据库,对于使用关系型数据库较多的我们,mongodb的一些基本概念需要好好的理解。在理解这些概念的时候,我是以与关系型数据库等对比的方式来理解的,这样有助对概念的更好理解。 ...
  • MCpang
  • MCpang
  • 2012年07月04日 12:47
  • 11363

mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。...
  • QQ80583600
  • QQ80583600
  • 2017年07月13日 11:20
  • 1940

Mongo+nodejs填坑系列——mongoose自动在collection结尾添加's'

最近在用nodejs和mongodb写个论坛,在这里记录下遇到的一些坑。 连接mongodb时使用的是mongoose模块,安装和使用方法如下: 安装: npm install mongoose --...
  • newhuan1995
  • newhuan1995
  • 2017年03月19日 22:50
  • 716

Mongoose读取集合数据始终返回空?关于Mongoose会自动添加的坑爹的"s"

在用Node.js+express+MongoDB搭建团队官网,说实话有点后悔用了MongoDB。虽然MongoDB基于文档的数据存储方式很让人心动,但是感觉数据的组织结构显得很混乱,对于用惯了Mys...
  • qq_31280709
  • qq_31280709
  • 2016年12月27日 23:24
  • 963

nodejs之mongoose连接数据库的两种形式

mongoose有两种连接数据库的方法 1)mongoose.connect('mongodb://localhost/dataNameDemo'):如果你的应用程序只需连接一个数据库,可通过此方法连...
  • u011677050
  • u011677050
  • 2015年03月16日 10:23
  • 3710

mongoose中connect()、createConnection()和connection的区别和作用

1 mongoose简介 2 mongoose连接数据的方法 2.1 connection 2.2 connect() 2.3 createConnection() 3 总结...
  • younglao
  • younglao
  • 2017年07月31日 15:25
  • 1231

[MongoDB学习笔记-02] Node.js连接MongoDB的两种方法

MongoDB Node.js驱动程序是被官方所支持的原生Node.js驱动程序,他是至今为止最好的实现, 并且得到了MongoDB官方的支持。MongoDB团队已经采用MongoDB Node.js...
  • u014695532
  • u014695532
  • 2016年05月06日 19:48
  • 7448

MongoDB学习笔记之Mongoose的使用

**MongoDB的介绍** 本文介绍了在nodejs环境下,简单的通过mongoose操作mongoDB的方法...
  • sinat_25127047
  • sinat_25127047
  • 2016年01月22日 10:23
  • 14748

Mongoose操作schema时默认表名添加s以及解决

本文简单分析了Mongoose的创建schema时的collection的处理。
  • u014155400
  • u014155400
  • 2015年08月04日 17:16
  • 948

mongoose集合命名的实例

mongoose集合命名规则: 01.js var mongoose = require("mongoose"); mongoose.connect('mongodb://localhost/ha...
  • Night_Emperor
  • Night_Emperor
  • 2017年12月24日 23:35
  • 79
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mongoose连接collection后自动加s的问题
举报原因:
原因补充:

(最多只允许输入30个字)