(1)创建数据库
隐式创建数据库:
use + databaseName
use 命令后跟的数据库名,如果存在就进入此数据库,如果不存在就创建,此时并没有真正生成对应的数据文件,
退出数据库将被删除,只有在此数据库中创建集合后,才会真正生成数据文件
> use mongoo
switched to db mongoo
> db
mongoo
(2)当前所在数据库,使用命令 db,查看所有数据库,可以使用 show dbs 命令:
> show dbs
local 0.078GB
test 0.078GB
我们刚创建的数据库mongoo并不在数据库的列表中, 要显示它,我们需要向mongoo 数据库插入一些数据。
(3)创建集合有两种方式,显示创建和隐式创建
显示创建:显示创建可以使用命令 db.createCollection(“集合名称")
隐式创建:隐式创建可以使用命令 db.集合名称.insert({}),指创建集合并同时向集合中插入数据
> db.mongoo.insert({"name":"helloMongo"})
WriteResult({ "nInserted" : 1 })
> show dbs
local 0.078GB
mongoo 0.078GB
test 0.078GB
>
MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。
(4)删除当前数据库,使用命令db.dropDatabase()
> show dbs
local 0.078GB
mongoo 0.078GB
test 0.078GB
> use mongoo
switched to db mongoo
> db.dropDatabase()
{ "dropped" : "mongoo", "ok" : 1 }
(5)查看当前数据库中所有的集合,使用命令 show collections 或使用show tables
> use mongoo
switched to db mongoo
> db
mongoo
> db.c1.insert({"name":"helloMongo"})
WriteResult({ "nInserted" : 1 })
> show dbs
local 0.078GB
mongoo 0.078GB
test 0.078GB
>show collections
c1
system.indexes
>show tables
c1
system.indexes
(6)向集合添加文档,使用命令 db.集合名称.insert({}) 或 db.集合名称.save({}) 方法
>db.col2.insert({title: 'MongoDB 文档',
description: 'MongoDB 是一个 Nosql 数据库',
url: 'https://www.mongodb.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
查看已插入文档,使用命令 db.集合名称.find({条件}),或者使用 db.集合名称.findOne() 查询第一个文档:
> db.col2.find()
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 文档", "description" : "MongoDB 是一个 Nosql 数据库", "url" : "https://www.mongodb.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>
也可以将数据定义为一个变量,然后再进行插入操作:
> document=({title: 'MongoDB 文档',
description: 'MongoDB 是一个 Nosql 数据库',
url: 'https://www.mongodb.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
});
执行结果:
{
"title" : "MongoDB 文档",
"description" : "MongoDB 是一个 Nosql 数据库",
"url": 'https://www.mongodb.com',
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
执行插入操作:
> db.col2.insert(document)
WriteResult({ "nInserted" : 1 })
>
插入文档也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。