##下载安装
https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.6.4-signed.msi/download
##配置环境变量(window)
将mogodb/版本/bin 目录配置到计算机的环境变量中去
##使用
D:\mongodb //创建文件夹存储数据
mongodb --dbpath D:\mongodb //开启服务端mongodb服务
mongodb host:port //连接数据库
show dbs; //查看所有的数据库
use dbname; //创建使用数据库
db.dropDatabase();//删除数据库
db.user.insert({"name":"lili","age":20}); //在数据库下创建表user,并插入一条数据
show collections;//显示所有的表(集合)
db.tname.drop() //删除表(没有表,数据库也删除)
db.tanem.remove({})删除所有的记录
db.user.find() //查找所有的数据
db.user.find({"age":22}) //查找 age==22的数据
db.user.find({"age":{$gt:22}}) //查找所有的数据age>22的数据
db.user.find({"age":{$lt:22}}) //查找所有的数据age<22的数据
db.user.find({"age":{$gte:22}}) //查找所有的数据age>=22的数据
db.user.find({"age":{$lte:22}}) //查找所有的数据age<=22的数据
db.user.find({"age":{$lte:22},“name”:"lili"}) 查找name="lili"并且年龄<=22的数据
db.user.find({"age":{$gte:22,$lte:30}}) //查找所有的数据age>=22并且age<=30的数据
db.user.find({"title":/文章/}) //查询title包含"文章"的记录,模糊查询
db.user.find({"title":/^zh/}) //查询title以"zh"开头的记录,模糊查询
db.user.find({},{"title":1}) //查询user内的name字段
db.user.find({"age":{$gte:22,$lte:30}},{"name":1})//查找age>=22并且age<=30的数据的name字段
db.user.find({"age":{$gte:22,$lte:30}},{"name":1,"age":1})//查找age>=22并且age<=30的数据的name字段和age字段,name和age可以不加""
db.user.find({}).sort({"age":1}) //正序查询
db.user.find({}).sort({"age":-1}) //倒序查询
//分页
db.user.findOne({}) //查找第一条
db.user.find({}).limit(2) //查询前两条
db.user.find({}).skip(2).limit(2) //跳过两天查询第三条和第四条
db.user.find({}).count()//查找总数据条数
db.user.find({$or:[{"age":20},{"age":24}]}) //查找age=20 或者age=24的记录
//修改数据
db.user.update({"name":"lili"},{$set:{"name":"lilian"}});//修改数据,不加$set则直接修改字段
db.user.remove({"name":"lilian"});//删除记录
db.user.remove({"name":"lilian"},{justOne:true});//删除一条记录
//索引
db.tname.getIndexes() //查询索引
db.tname.dropIndex({"name":1})//删除name字段索引
db.tname.find({"name":"lilian"}).explain("executionStats");//查看查询需要的时间等信息
db.tname.ensureIndex({"name":1})//建立索引
db.tname.ensureIndex({"name":1,"age":-1}) //建立复合索引,数据存储以name正序和age倒叙排列,建立符合索引后,使用name单独查询很快,但是age单独查询会很慢,需要再次给age字段单独设置索引
db.tname.dropIndex({"name":1,"age":-1})//删除复合索引
db.tname.ensureIndex({"userid":1},{"unique":true})//唯一索引
//插入大量测试数据
for(var i=0;i<10000;i++){
db.shop.insert({"title":"shop"+i});
}
##nodejs中使用mongodb
//安装模块
npm install mongodb --save
//开启mogodb客户端
var MongoClient = require('mongodb').MongoClient
, assert = require('assert');//assert测试模块,可以不添加
//数据库连接地址
var url = 'mongodb://localhost:27017/myproject';
//连接数据库
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected successfully to server");
//实现数据的增删改查
db.collection('user').insertOne({'name':'zhangsan'},function(error,data){
});
db.collection('user').updateOne({'name':'zhangsan'},{$set:{'name':'zhansan1111'}},function(error,data){
});
db.collection('user').deleteOne({'name':'zhangsan'},function(error,data){
});
db.close();
});