1 个回答
✓ 已被采纳

建议按照mongoose文档进行学习。
(或者去搜索mongoose的相关技术博客,学好使用google)

简答一下吧:

为什么要定义数据类型

mongodb有一大优势是schemaless的,也就是无需预设数据结构。而mongoose为什么又要定义数据类型呢?
mongodb的schemaless在当今需求快速变化的项目中有很大优势,而mongoose基于schema的模式并不是一个倒退,他只是为了开发方便。
你可以随时修改schema,而大部分情况下不需要整理数据库直接运行即可。
有一个描述了数据类型的schema,你可以更加简便地操作mongodb数据库。(也有oop的优势在内)
mongoose内置了类似于类型转换、default值等等基于schema的优势功能。

mongoose.model('Book', BookSchema)是干嘛的

向mongoose注册BookSchema在Book这个上model上。
所以后面你可以用mongoose.model('Book')把这个model拿出来。
mongoose有schema、model、document的概念。

为什么db.book.find({})找不到数据

请用db.books.find({})
mongoose会自己搞复数形式,显得比较专业,毕竟是collection嘛。
而且story还会复数成stories呢。
你在use blog之后,可以通过show collections知道有哪些个collection存在。

题外话

建议题主在问问题前先进行文档(博客教程)学习。
mongodb的,mongoose的。

社区力量为主,同时有 MongoDB 官方技术人员支持的旨在推广 MongoDB 的普及和最佳使用方案的社区。

宣传栏