Skip to content

Commit 256a3bf

Browse files
committed
2016/3/23
1 parent 8f47818 commit 256a3bf

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

mongoose使用心得.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
### 主要是自己使用mongoose的一些有疑虑的地方简单介绍
2-
初次使用mongoose的过程中有很多的疑惑,MongoDB是文档型数据库,文档保存在集合中,所有的增删改查都是在集合中操作,而在mongoose中很多操作并没有集合的概念,因此在集合的创建、查询、删除等等操作的时候,我就会想Collections在哪?相信初学者都会有这样的疑惑。直到翻看了官方文档中的一句话,“With Mongoose, everything is derived from a Schema.”注意,是everything。记住这句话,我相信不管是学习还是使用mongoose,那么思考的方向已经对了。
3-
使用mongoose连接MongoDB就不多说了,直接上代码:
2+
  初次使用mongoose的过程中有很多的疑惑,MongoDB是文档型数据库,文档保存在集合中,所有的增删改查都是在集合中操作,而在mongoose中很多操作并没有集合的概念,因此在集合的创建、查询、删除等等操作的时候,我就会想Collections在哪?相信初学者都会有这样的疑惑。直到翻看了官方文档中的一句话,“With Mongoose, everything is derived from a Schema.”注意,是everything。记住这句话,我相信不管是学习还是使用mongoose,那么思考的方向已经对了。
3+
  使用mongoose连接MongoDB就不多说了,直接上代码:
4+
```
45
var mongoose = require(‘mongoose’);
56
// 引入 mongoose 模块
67
mongoose.connect(‘mongodb://localhost/test);
@@ -14,7 +15,9 @@
1415
console.log(“MongoDB Opened!”);
1516
});
1617
module.exports = mongoose;
17-
值得注意的是,考虑任何问题,尤其是我们码农在程序中考虑任何问题,都要考虑发生错误怎么办,使用mongoose也不例外。
18+
```
19+
  值得注意的是,考虑任何问题,尤其是我们码农在程序中考虑任何问题,都要考虑发生错误怎么办,使用mongoose也不例外。
20+
```
1821
var mongoose = require(’…/modules/db’);
1922
var impressionSchema = mongoose.Schema({
2023
impression:{type:String},
@@ -26,11 +29,13 @@
2629
if (err) return console.error(err);
2730
console.log(“Save Successful!”);
2831
});
29-
这段代码是保存一个文档的实例,在这段代码中我的疑虑是我们把文档保存在哪个Collection里边?答案仍然是“With Mongoose, everything is derived from a Schema.”,mongoose是通过model来创建mongodb中对应的collection的,mongoose在内部创建collection时将我们传递的collection名(‘friendimpression’)小写化,同时如果小写化的名称后面没有字母——s,则会在其后面添加一s,针对我们刚建的collection,则会命名为:friendimpressions。
30-
32+
```
33+
  这段代码是保存一个文档的实例,在这段代码中我的疑虑是我们把文档保存在哪个Collection里边?答案仍然是“With Mongoose, everything is derived from a Schema.”,mongoose是通过model来创建mongodb中对应的collection的,mongoose在内部创建collection时将我们传递的collection名(‘friendimpression’)小写化,同时如果小写化的名称后面没有字母——s,则会在其后面添加一s,针对我们刚建的collection,则会命名为:friendimpressions。
34+
```
3135
impressionModel.find(function (err, docs) {
3236
if (err) return console.error(err);
3337
console.log(docs)
3438
});
3539
};
36-
查询的疑虑在于,我如果对存在的表进行查询怎么办?我必须先创建model?可是我不需要插入删除等操作,我只想查询一下就完事儿。看一下mongoose官方的查询方法Model.find、Model.findOne、Model.findById、Model.where、Model.$where等等,都是基于Model,Model又来自Schema,其实Schema就是你文档结构的规则,俗话说无规矩不成方圆,MongoDB也是一样,不关你是查询还是插入、删除都得有个规矩,所以即使是简单的查询也要从Schema开始,有了规矩增删改查起来也方便很多。
40+
```
41+
  查询的疑虑在于,我如果对存在的表进行查询怎么办?我必须先创建model?可是我不需要插入删除等操作,我只想查询一下就完事儿。看一下mongoose官方的查询方法Model.find、Model.findOne、Model.findById、Model.where、Model.$where等等,都是基于Model,Model又来自Schema,其实Schema就是你文档结构的规则,俗话说无规矩不成方圆,MongoDB也是一样,不关你是查询还是插入、删除都得有个规矩,所以即使是简单的查询也要从Schema开始,有了规矩增删改查起来也方便很多。

0 commit comments

Comments
 (0)