一、什么是MongoDB?
MongoDB是C++编写,面向文档的数据库,而不是关系;它在高负载的情况下,添加更多的节点,可以保证服务器的性能。数据结构由键值(key=>value)构成,文档类似于JSON对象,字段值可以包含其他文档,数组以及文档数组。
SQL =======>MongoDB
database database
table collection
row document
column filed
index index
table joins 不支持
通常 object术语是指一个文档 {site:"shoece.ren"} 文档内不能有重复的键; 区分类型和大小写;
集合就是一组文档的组合,如果将文档类比成数据库中的行,那么集合就可以类比成数据库的表。 文档 ->集合 ->数据库
二、MongoDB的一些基本操作
1、显示所有数据库。 show dbs;
2、显示当前对象或数据库。 db;
3、链接到一个指定的数据库。 use dbName;
4、启动MongoDB服务: mongodb://主机名;使用密码名和密码链接到mongoDB服务器,必须使用mongodb://username:password@hostname[:port]/dbname这种格式。
5、创建数据库 use dbName ; 如果数据库存在则使用数据库,如果不存在则创建数据库。
6、删除当前数据库。 db.dropDatabase() 。
7、插入文档。 对应mysql里面的插入一行。 db.collection.insert(文档) 将文档插入到表中。
8、更新已存在的文档。 db.collection.update(query,{$set:{new query},{multi:是否修改多条相同的文档。})
9、删除文档。 db.collection.remoce(query,<justOne>) 如果只想删除第一条记录可以设置justOne为1 。例如 db.collection.remove('foo',1) 只删除第一条找到的记录。
10、查询文档。 db.collection.find() find()以非结构化的方式来显示所有文档。若非要以易读的方式来读取数据,可以使用pretty()方法, 格式 db.col.find().pretty() pretty()方法将以格式化的方式来显示所有文档。find可用第二个参数来剔除结果中的某个键值对
db.c.find({},{"_id":0}) 第二个参数来剔除查询结果。 数据库所关心的查询文档的值必须是常量。不能引用文档中其他键值。
findOne(): 只返回一个文档。
11、数组修改器:只能用在值为数组的键上,不能对整数做push,也不能对字符串做pop