自己写了个MongoDB的CRUD文档


/*
================================================================================================================================
其他

*/
查看数据库
show dbs;
使用数据库
use dbname;
查看文档(mysql表)
show collections;




/*
================================================================================================================================

  向数据库中插入文档
	db.<collection>.insert()
	 - 向集合中插入一个或者多个文档
*/

db.stus.insert({
	name:"小H",
	age:20,
	gender:"女"
});

/*
	一次插入多个 
*/
db.stus.insert([
	{
		name:"小BB",age:21,gender:"女"
	},
	{
		name:"小CB",age:23,gender:"男"
	},
	{
		name:"小DB",age:26,gender:"男"
	}
]);

/*
db.stus.find()
{ "_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"), "name" : "小A", "age" : 25, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
*/
/*
	mongodb会自动加一个“ObjectId”
*/
/*
  ----> 自己生成一个
  [根据时间戳和机器码,保证每一个都不一样]
> ObjectId()
ObjectId("5b98c497907d0b2e0d6fabb7")
*/







/*
================================================================================================================================

  向数据库中查询文档
	db.<collection>.find()
	db.<collection>.findOne()
*/

db.stus.find();
/* 查询集合中所有符合条件的文档    
>  
 find({字段名:“值”}[,{xx:xx},{xx:xx}可传入多个个]) 
里面可以传入对象,根据条件查询*/


> db.stus.find({name:"小A"})
{ "_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"), "name" : "小A", "age" : 25, "gender" : "男" }


/*------------------------------------------------------*/
db.stus.findOne();


> db.stus.findOne({gender:"男"})
{
	"_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"),
	"name" : "小A",
	"age" : 25,
	"gender" : "男"
}


/*查询总数量*/
db.stus.find([{条件:"xx"},{条件:"xx"}]).count()
4






/*
================================================================================================================================

  向数据库中修改文档
	db.<collection>.update(查询条件,新对象)
	如果需要修改指定的属性,而不是替换需要使用“修改操作符”来完成修改
	$set 修改文档中的指定属性
	$unset 删除文档中的指定属性
	.....
	
	db.collection.updateMany()
		- 同时修改多个符合条件的文档
	db.collection.updateOne()
		- 同时修改一个符合条件的文档

*/



> db.stus.update({name:"小A"},{name:"小AA"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.stus.find()
{ "_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"), "name" : "小AA" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
 


/* 
	$set
*/
db.stus.update(
	{"_id":ObjectId("5b98c38b907d0b2e0d6fabb3")}, /* 匹配*/
	{
		$set:{ /* $unset */
			name:"大A"	/*修改的值,可写多个*/
		}
		/*
		
		,
		{
			multi:true 我要修改多个
		}
		
		*/
	}
)
/*
> db.stus.find()
{ "_id" : ObjectId("5b98c38b907d0b2e0d6fabb3"), "name" : "大A" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
> 
*/











/*
================================================================================================================================

  向数据库中删除文档
	db.<collection>.remove()
	db.<collection>.deleteOne()
	db.<collection>.deleteMany()
*/
db.stus.remove({"name":"大A"})


> db.stus.remove({"name":"大A"})
WriteResult({ "nRemoved" : 1 })
> db.stus.find()
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }




/*
================================================================================================================================

  排序查询 
  db.<collection>.find({}).sort({条件:1,[条件2:-1]})
	- 1升序
	- -1降序
  
*/

> db.stus.find().sort({age:1});
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }
/*-------------------------------------------------------------------------------------------------------------*/
> db.stus.find().sort({gender:1});
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B", "age" : 21, "gender" : "女" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C", "age" : 23, "gender" : "男" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D", "age" : 26, "gender" : "男" }







/*
================================================================================================================================

  投影查询 
  db.<collection>.find({},{要显示列名:1,_id:0})
	- 1显示
	- 0不显示
*/
> db.stus.find({},{"name":1})
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb4"), "name" : "小B" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb5"), "name" : "小C" }
{ "_id" : ObjectId("5b98c42e907d0b2e0d6fabb6"), "name" : "小D" }
> db.stus.find({},{"name":1,"_id":0})
{ "name" : "小B" }
{ "name" : "小C" }
{ "name" : "小D" }





/*
================================================================================================================================

  分页查询 
  -mongoDB的分页查询是通过limit(),skip(),sort()这三个函数组合进行分页查询的
	查询第一页的数据:db.test.find().sort({"age":1}).limit(2);
    查询第二页的数据:db.test.find().sort({"age":1}).skip(2).limit(2);
*/
	









posted @ 2018-12-31 10:07  墨小枫233  阅读(102)  评论(0编辑  收藏  举报