发现问题
最近在工作中遇到了一个问题,在定义了schema之后,每一次save都会报E11000,但是db.xxx.find()里面根本就没有冲突的条目,什么情况呢?
问题分析
可能问题出在定义的schema的成员使用了unique,比如:
一、创建schemas
创建schemas的方式:var userSchema = new mongoose.Schema({name: String,email: String,createdOn: Date});schemas中的数据类
MongoDB
MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换带来的时间空间开销。
Mongoose
是Mo
安装mongoose
使用express准备一个TestMongoDB项目,命令序列如下:express TestMongoDB
cd TestMongoDB
npm install执行完上面的命令后,使用下面的命令安装mongoose:n
使用mongoose可以让我们更好使用mongodb数据库,而不需要写繁琐的业务逻辑。
安装npm install mongoose初始化使用
使用mongoose前,需安装node和mongodb,这里不讲node和mongodb的安装方
前言
unique属于schema约束验证中的一员,他的作用主要就是让某一个字段的值具有唯一性(不能重复)保持字段的唯一性使用type值: {type:String,unique:true,dropDups: true}注意:mongoos
说明大家都知道在mongodb 中获取数据,不管使用回调函数还是Promise又或者generate 语法最后得到都是mongoose.Query对象,不能直接操作如同普通对象一样得到单行数据。还有就是时间格式化问题,见下面。
下面示例默认
接着这篇文章Node.js+jade抓取博客所有文章生成静态html文件的实例继续,在这篇文章中实现了采集与静态文件的生成,在实际的采集项目中, 应该是先入库再选择性的生成静态文件。
那么我选择的数据库是mongodb,为什么用这个数据库,