最近用 node + express + mongoDB 去写后端接口的时候,发现一个差异的问题:
比如我 DB 里面写了个集合叫 alertmsg,当我写 get 接口的时候,返回的是一个空数组: []
model 如下:
接口路由如下:
Google 很久也没找出答案,明明 DB 里面已经写入数据了,单当我试了一下 post 请求时,意外发现 DB 多了一个 collection:alertmsgs。(Fuck me????黑人问号),再去把原来的 model 改成 alertmsgs 就能获取了。
去官网看了下,发现 mongoose.prototype.model(),会自动给 collection的 name 末尾添加 s,如果没有定义的话。
所以解决办法就是如上图所述,或者在写 DB 的时候,给 collection 加上 s。
(Sonovabitch!)