mongodb分享
更新日期:
mongodb ——> mongoose
一. NoSQL数据库
mongodb不是一种关系型数据库,而是一种NoSQL数据库。NoSQL不使用SQL作为查询语言。其数据存储可以不需要固定的表格模式,也经常会避免使用SQL的JOIN操作。
eg:
CREATE TABLE users ( // sql建表 id MEDIUMINT NOT NULL AUTO_INCREMENT, user_id Varchar(30), age Number, status char(1), PRIMARY KEY (id) ) // mongodb 怎么做 db.createCollection("users") db.users.insert( { user_id: "abc123", age: 55, status: "A" } ) |
二. mongodb的基本操作
关于collection、document是神马意思的介绍
https://docs.mongodb.org/manual/core/crud-introduction/
关于索引
https://docs.mongodb.org/manual/core/query-optimization/
关于增删改查的一些基本操作
https://docs.mongodb.org/manual/tutorial/insert-documents/
三. 关于数据库连接池
对于一个简单的数据库应用,由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能
连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等
四 generic-pool 看看这个东东连接池,是怎么实现的
等待说代码吧……
五 简单的分析下mongoose
依赖1: mpath get/set javascript object values using MongoDB-like path notation
https://www.npmjs.com/package/mpath
依赖2:mquery
https://www.npmjs.com/package/mquery