美文网首页
MongoDB 入门系列(三)

MongoDB 入门系列(三)

作者: 郁南 | 来源:发表于2020-06-23 22:49 被阅读0次

    利用JS操作数据库

    (1)新建一个mongodb-1.js
    (2)输入以下内容

    var userName="mongodb";    //声明一个登录名             
    var timeStamp=Date.parse(new Date());     //声明登录时的时间戳  
    var jsonDdatabase={"loginUnser":userName,"loginTime":timeStamp}; //组成JSON字符串
    var db = connect('log');   //链接数据库
    db.login.insert(jsonDdatabase);  //插入数据
    
    print('print success'); 
    

    (3)验证输出
    在命令行输入mongo mongodb-1.js,就可以看到以下输出,表明操作成功

    D:\Code\Test\Others>mongo mongodb-1.js
    MongoDB shell version v3.4.4
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.4
    connecting to: mongodb://127.0.0.1:27017/log
    MongoDB server version: 3.4.4
    print success
    

    有一点要注意的是,在命令行输入mongo mongodb-1.js这个执行多少次,就会执行多少次insert操作,也就是会往数据库插入多少条内容相同但ObjectId不同的数据。

    (4)验证mongo的数据有没有被插入到数据库中

    1. 为了区分,可以另外打开一个cmd,启动mongo
    2. 输入show dbs,可以看到已经多了log库

    总是切换cmd会显得很麻烦,这里推荐一个多切换的cmd工具:mac:iterm2或者windows:cmder

    C:\Users\Angsi>mongo
    MongoDB shell version v3.4.4
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.4
    Server has startup warnings:
    2020-06-23T20:39:48.922+0800 I CONTROL  [initandlisten]
    2020-06-23T20:39:48.922+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
    2020-06-23T20:39:48.922+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
    2020-06-23T20:39:48.922+0800 I CONTROL  [initandlisten]
    > show dbs
    admin    0.000GB
    charles  0.000GB
    local    0.000GB
    log      0.000GB
    
    1. 切换到log库use log,并查询数据show collections,会发现多了login集合
    > use log
    switched to db log
    > show collections
    login
    
    1. 验证数据的插入db.login.find()
    > db.login.find()
    { "_id" : ObjectId("5ef20d5fbda5c72f9272011b"), "loginUnser" : "mongodb", "loginTime" : 1592921439000 }
    { "_id" : ObjectId("5ef20d8af5ffb7a3c26bbe87"), "loginUnser" : "mongodb", "loginTime" : 1592921482000 } 
    

    (5)再次插入数据

    // var userName = "mongodb";    //声明一个登录名             
    // var timeStamp = Date.parse(new Date());     //声明登录时的时间戳  
    // var jsonDdatabase = { "loginUnser": userName, "loginTime": timeStamp }; //组成JSON字符串
    // var db = connect('log');   //链接数据库
    // db.login.insert(jsonDdatabase);  //插入数据
    
    
    var log2 = "v3.3.4"
    var log2Data = { version: log2 }
    var db = connect('log2')
    db.ver.insert(log2Data)
    
    print('print success again'); 
    

    要注意的是,如果想要创建新的库/集合,需要重新执行mongo xxx.js命令

    D:\Code\Test\Others>mongo mongodb-1.js
    MongoDB shell version v3.4.4
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.4
    connecting to: mongodb://127.0.0.1:27017/log2
    MongoDB server version: 3.4.4
    print success again
    

    然后重复上面的命令,查询插入的数据是否入库

    C:\Users\Angsi>mongo
    MongoDB shell version v3.4.4
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.4
    Server has startup warnings:
    2020-06-23T20:39:48.922+0800 I CONTROL  [initandlisten]
    2020-06-23T20:39:48.922+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
    2020-06-23T20:39:48.922+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
    2020-06-23T20:39:48.922+0800 I CONTROL  [initandlisten]
    > show dbs
    admin     0.000GB
    charles   0.000GB
    local     0.000GB
    log       0.000GB
    log2      0.000GB  
    > use log2
    switched to db log2
    > show collections
    ver
    > db.ver.find()
    { "_id" : ObjectId("5ef215140c1ce12dfa7c6bbb"), "version" : "v3.3.4" }
    

    PS:要注意的是mongodb目前对ES6的支持还不是很友好,所以尽量使用ES5,当然如果仅是练习可以使用看看,目前知道的问题是建库的时候必须使用ES5,如var db = connect('log2')var不能用let/const去声明。

    相关文章

      网友评论

          本文标题:MongoDB 入门系列(三)

          本文链接:https://www.haomeiwen.com/subject/cnvkfktx.html