mongodb使用指南1

来源:互联网 发布:项目管理数据库设计 编辑:程序博客网 时间:2024/04/29 13:48
mongodb使用指南1
        使用之前我们先要安装一下软件(下载软件后自行安装,具体细节这里不赘述,自行百度):https://www.mongodb.com/
        什么是mongdb?mongdb是非关系型数据库。简单的理解就是,它没有像mysql一样的联表查询语法,数据库之间是独立的(不了解mysql的同学请自行恶补)。
        mongdb下有各种库,每个库下面有各种文档集合,每个文档集合下面有若干条数据记录,mongdb的库就好比是mysql中的库,文档集合就好比mysql中的表,数据记录就好比mysql表中的记录。
        默认的,mongdb数据记录中会有一个默认键名_id,这是系统添加上去的,用于保持记录在文档集合中的唯一性。
        mongdb使用上贴近js的语法,文档集合从js的角度理解,每一个文档集合可以看成是一个数组,文档集合中的每一条数据记录可以看成是数组中的元素,该元素是一个对象,例如:[{},{},{}]。结构符合json格式。
        所以,各位同学在学习上请将其和MYSQL数据库进行类比。
一、启动服务
    mongod --dbpath E:\mongodb\data
二、连接数据库
    mongo localhost:27017
三、具体使用操作
#使用或创建数据库(不存在则进行创建)
> use wgd
switched to db wgd

#查看当前所在数据库
> db
wgd

#切换数据库
> use hjl
switched to db hjl
#查看所有存在数据的库(即使创建了,如果没有插入数据,页不会显示)
> show dbs
local  0.078GB

#向某个库中插入数据
> db.wgd.insert({"name":"cnjc"})
WriteResult({ "nInserted" : 1 })

#再次查看有哪些库
> show dbs
hjl    0.078GB
local  0.078GB

#MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中

#删除当前所处的库
> use hjl
switched to db hjl
> show dbs
hjl    0.078GB
local  0.078GB
> db.dropDatabase()
{ "dropped" : "hjl", "ok" : 1 }
> show dbs
local  0.078GB

#删除集合:db.collection.drop()

#创建一个集合(表)col并插入一条记录
> db.col.insert({ title:"mg教程",description:"这是一个教程",by:'cnjc',url:'http//:www.baidu.com',tag:['mg','db','nosql'],likes:100 })
WriteResult({ "nInserted" : 1 })

#查看某个集合的所有记录
> db.col.find()
{ "_id" : ObjectId("583f7b43b547c6e06c94c0fe"), "title" : "mg教程", "description" : "这是一个教程", "by" : "cnjc", "url" : "http//:www.baidu.com", "tag" : [ "mg", "db", "nosql" ], "likes" : 100 }

#将数据赋给一个变量并打印出来
> document = ({title: 'MongoDB 教程',
...     description: 'MongoDB 是一个 Nosql 数据库',
...     by: '菜鸟教程',
...     url: 'http://www.runoob.com',
...     tags: ['mongodb', 'database', 'NoSQL'],
...     likes: 100
... });
{
        "title" : "MongoDB 教程",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "菜鸟教程",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}

#将该变量插入集合中
> db.col.insert(document);
WriteResult({ "nInserted" : 1 })
#查看集合记录
> db.col.find();
{ "_id" : ObjectId("583f7b43b547c6e06c94c0fe"), "title" : "mg教程", "description" : "这是一个教程", "by" : "cnjc", "url" : "http//:www.baidu.com", "tag" : [ "mg", "db", "nosql" ], "likes" : 100 }
{ "_id" : ObjectId("583f7be9b547c6e06c94c0ff"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "li
kes" : 100 }

#更新集合的一条记录的语法
db.collection.update(
   <query>,//指定获取记录的条件
   <update>,// update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
   {
     upsert: <boolean>,// 可选,如果不存在update的记录,是否插入objNew,true为插入
     multi: <boolean>,// 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新
     writeConcern: <document>//可选,抛出异常的级别。
   }
)

#更新集合中的一条记录
> db.col.find();
{ "_id" : ObjectId("583f7b43b547c6e06c94c0fe"), "title" : "mg教程", "description" : "这是一个教程", "by" : "cnjc", "url" : "http//:www.baidu.com", "tag" : [ "mg", "db", "nosql" ], "likes" : 100 }
{ "_id" : ObjectId("583f7be9b547c6e06c94c0ff"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>                             程',$set:{''}}))))
>
> db.col.update({'title':'mg教程'},{$set:{'title':'mongodb'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.col.find();
{ "_id" : ObjectId("583f7b43b547c6e06c94c0fe"), "title" : "mongodb", "description" : "这是一个教程", "by" : "cnjc", "url" : "http//:www.baidu.com", "tag" : [ "mg", "db", "nosql" ], "likes" : 100 }
{ "_id" : ObjectId("583f7be9b547c6e06c94c0ff"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

#格式化输出
> db.col.find().pretty()
{
        "_id" : ObjectId("583f7b43b547c6e06c94c0fe"),
        "title" : "mongodb",
        "description" : "这是一个教程",
        "by" : "cnjc",
        "url" : "http//:www.baidu.com",
        "tag" : [
                "mg",
                "db",
                "nosql"
        ],
        "likes" : 100
}
{
        "_id" : ObjectId("583f7be9b547c6e06c94c0ff"),
        "title" : "MongoDB 教程",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "菜鸟教程",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}

#更新集合中所有的记录
> db.col.update({'likes':100},{$set:{'like':300}},{multi:true})
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
> db.col.find().pretty()
{
        "_id" : ObjectId("583f7b43b547c6e06c94c0fe"),
        "title" : "mongodb",
        "description" : "这是一个教程",
        "by" : "cnjc",
        "url" : "http//:www.baidu.com",
        "tag" : [
                "mg",
                "db",
                "nosql"
        ],
        "likes" : 100,
        "like" : 300
}
{
        "_id" : ObjectId("583f7be9b547c6e06c94c0ff"),
        "title" : "MongoDB 教程",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "菜鸟教程",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100,
        "like" : 300
}

#根据objectid替换掉集合中的某一条记录

> db.col.save({'_id':ObjectId("583f7be9b547c6e06c94c0ff"), name:'wgd' })
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.col.find().pretty()
{
        "_id" : ObjectId("583f7b43b547c6e06c94c0fe"),
        "title" : "mongodb",
        "description" : "这是一个教程",
        "by" : "cnjc",
        "url" : "http//:www.baidu.com",
        "tag" : [
                "mg",
                "db",
                "nosql"
        ],
        "likes" : 100,
        "like" : 300
}
{ "_id" : ObjectId("583f7be9b547c6e06c94c0ff"), "name" : "wgd" }


#删除集合中的记录
#语法格式

db.collection.remove(
   <query>,//(可选)删除的文档的条件
   {
     justOne: <boolean>,//(可选)如果设为 true 或 1,则只删除一个文档。
     writeConcern: <document>//(可选)抛出异常的级别。
   }
)

   #插入一条记录
> db.col.insert({title: 'MongoDB 教程',
...     description: 'MongoDB 是一个 Nosql 数据库',
...     by: '菜鸟教程',
...     url: 'http://www.runoob.com',
...     tags: ['mongodb', 'database', 'NoSQL'],
...     likes: 100
... })

   #查看记录
> db.col.find()
{ "_id" : ObjectId("583f7b43b547c6e06c94c0fe"), "title" : "mongodb", "description" : "这是一个教程", "by" : "cnjc", "url" : "http//:www.baidu.com", "tag" : [ "mg", "db", "nosql" ], "likes" : 100, "like" : 300 }
{ "_id" : ObjectId("583f7be9b547c6e06c94c0ff"), "name" : "wgd" }
{ "_id" : ObjectId("583f7f96b547c6e06c94c100"), "name" : "wgd" }
{ "_id" : ObjectId("583f80adb547c6e06c94c101"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }{ "_id" : ObjectId("583f815cb547c6e06c94c102"), "name" : "wgd" }

   #删除(匹配到的)所有记录
> db.col.remove({'name':'wgd'})
WriteResult({ "nRemoved" : 3 })
> db.col.find()
{ "_id" : ObjectId("583f7b43b547c6e06c94c0fe"), "title" : "mongodb", "description" : "这是一个教程", "by" : "cnjc", "url" : "http//:www.baidu.com", "tag" : [ "mg", "db", "nosql" ], "likes" : 100, "like" : 300 }
{ "_id" : ObjectId("583f80adb547c6e06c94c101"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

#查询集合中的记录
    #查询所有记录

> db.col.find();
{ "_id" : ObjectId("583f7b43b547c6e06c94c0fe"), "title" : "mongodb", "description" : "这是一个教程", "by" : "cnjc", "url" : "http//:www.baidu.com", "tag" : [ "mg", "db", "nosql" ], "likes" : 100, "like" : 300 }
{ "_id" : ObjectId("583f80adb547c6e06c94c101"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
    #格式化输出
> db.col.find().pretty();
{
        "_id" : ObjectId("583f7b43b547c6e06c94c0fe"),
        "title" : "mongodb",
        "description" : "这是一个教程",
        "by" : "cnjc",
        "url" : "http//:www.baidu.com",
        "tag" : [
                "mg",
                "db",
                "nosql"
        ],
        "likes" : 100,
        "like" : 300
}
{
        "_id" : ObjectId("583f80adb547c6e06c94c101"),
        "title" : "MongoDB 教程",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "菜鸟教程",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
操作    格式    范例    RDBMS中的类似语句
等于    {<key>:<value>}    db.col.find({"by":"菜鸟教程"}).pretty()    where by = '菜鸟教程'
小于    {<key>:{$lt:<value>}}    db.col.find({"likes":{$lt:50}}).pretty()    where likes < 50
小于或等于    {<key>:{$lte:<value>}}    db.col.find({"likes":{$lte:50}}).pretty()    where likes <= 50
大于    {<key>:{$gt:<value>}}    db.col.find({"likes":{$gt:50}}).pretty()    where likes > 50
大于或等于    {<key>:{$gte:<value>}}    db.col.find({"likes":{$gte:50}}).pretty()    where likes >= 50
不等于    {<key>:{$ne:<value>}}    db.col.find({"likes":{$ne:50}}).pretty()    where likes != 50

#根据条件进行查询
> db.col.find({'title':'mongodb'}).pretty()
{
        "_id" : ObjectId("583f7b43b547c6e06c94c0fe"),
        "title" : "mongodb",
        "description" : "这是一个教程",
        "by" : "cnjc",
        "url" : "http//:www.baidu.com",
        "tag" : [
                "mg",
                "db",
                "nosql"
        ],
        "likes" : 100,
        "like" : 300
}
#使用$or条件语句
db.col.find( {   $or:[{ 'title':'mongodb'} , {'title':'MongoDB 教程'}]   } );
"_id" : ObjectId("583f7b43b547c6e06c94c0fe"), "title" : "mongodb", "description" : "这是一个教程", "by" : "cnjc", "url" : "http//:www.baidu.com", "tag" : [ "mg", "db", "nosql" ], "likes" : 100, "like" : 300 }
"_id" : ObjectId("583f80adb547c6e06c94c101"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }



0 0
原创粉丝点击