NoSQL(NoSQL = Not Only SQL ),意即"不单单是SQL",指的是非关系型的数据库sql
sql | mongodb |
---|---|
table | collection 表/集合 |
row | document 行/文档 |
column | field 字段/域 |
primary_key | primary_key MongoDB自动将_id字段设置为主键 |
一个简单的文档例子以下:mongodb
{"site":"www.runoob.com", "name":"菜鸟教程"}
use test
show dbs
命令:show dbs
结果:数据库
admin 0.000GB config 0.000GB local 0.000GB
能够看到,咱们刚建立的数据库 test 并不在数据库的列表中, 要显示它,咱们须要向 test 数据库插入一些数据数组
db.test.insert({"name":"菜鸟教程"}) show dbs
显示:数据结构
admin 0.000GB config 0.000GB local 0.000GB test 0.000GB
MongoDB 中默认的数据库为 test,若是你没有建立新的数据库,集合将存放在 test 数据库中。nosql
在 MongoDB 中,集合只有在内容插入后才会建立! 就是说,建立集合(数据表)后要再插入一个文档(记录),集合才会真正建立。分布式
show dbs use test db.dropDatabase() show dbs
结果:函数
admin 0.000GB config 0.000GB local 0.000GB
use test db.createCollection("runoob")
db.runoob.insert({'d':'333333'}) db.runoob.drop()
db.COLLECTION_NAME.insert(document)
>db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
以上实例中 col 是咱们的集合名,若是该集合不在该数据库中, MongoDB 会自动建立该集合并插入文档。性能
使用 find() 函数查询数据:url
db.col.find()
显示:
{ "_id" : ObjectId("56066169ade2f21f36b03137"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5606616dade2f21f36b03138"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
db.col.find().pretty()#美观
显示:
{ "_id" : ObjectId("5b7f7357c98c3333acf4e0e5"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5b7f735fc98c3333acf4e0e6"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
接下来咱们移除 title 为 'MongoDB 教程' 的文档:
db.col.remove({'title':'MongoDB 教程'}) db.col.find()
没数据显示了,两条数据全删除了
db.col.remove({'title':'MongoDB 教程'},1) db.col.find().pretty()
显示
{ "_id" : ObjectId("5b7f74e6c98c3333acf4e0e8"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
即只删除掉一条数据
db.collection.remove( <query>, <justOne> )
db.collection.find(query, projection)