1 个回答
  • 1.1k

建议按照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 官方中文社区 和 SegmentFault 联合推出的 MongoDB 技术交流平台。 这是一个以社区力量为主,但...

    推荐文章