成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

MongoDB入門(mén)

weij / 1674人閱讀

摘要:是由編寫(xiě)的基于分布式文件存儲(chǔ)的非關(guān)系型數(shù)據(jù)庫(kù),將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值對(duì)組成,類(lèi)似于對(duì)象。數(shù)據(jù)存儲(chǔ)量大時(shí),丟失率較高,適合存儲(chǔ)一些不太重要的信息。安裝以操作系統(tǒng)為例,安裝。去官網(wǎng)下載客戶(hù)端,這里下載的是。

MongoDB是由 C++ 編寫(xiě)的基于分布式文件存儲(chǔ)的非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL),將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對(duì)組成,類(lèi)似于 JSON 對(duì)象。MongoDB 與其他關(guān)系型數(shù)據(jù)庫(kù)相比,關(guān)系型數(shù)據(jù)庫(kù)必須創(chuàng)建表和字段,否則無(wú)法使用,但是mongodb屬于“無(wú)狀態(tài)模式”,結(jié)構(gòu)不需要設(shè)計(jì),會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)和集合,直接使用即可,存什么東西取決于我們自己向他傳入什么(當(dāng)不存在則創(chuàng)建,不需要手動(dòng)去創(chuàng)建)。MongoDB 數(shù)據(jù)存儲(chǔ)量大時(shí),丟失率較高,適合存儲(chǔ)一些不太重要的信息。市面上用MongoDB的有紐約時(shí)報(bào)、優(yōu)酷視頻等。

安裝MongoDB

以 Windows 10 操作系統(tǒng)為例,安裝MongoDB。

去官網(wǎng) https://www.mongodb.com/downl... 下載客戶(hù)端,這里下載的是 mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi 。

安裝在 C:Program FilesMongoDBServer3.2bin 目錄下。

添加系統(tǒng)環(huán)境變量:此電腦=>屬性=>高級(jí)系統(tǒng)設(shè)置=>環(huán)境變量=>系統(tǒng)變量=>Path=>新建=>C:Program FilesMongoDBServer3.2bin 。

在 D 盤(pán)創(chuàng)建 mongodb-data 文件夾。

在 C:Program FilesMongoDBServer3.2bin 目錄下運(yùn)行 $ mongod --dbpath D:mongodb-data 。

批處理: 新建文件 mongod批處理命令.bat ,內(nèi)容為 mongod --dbpath D:mongodb-data 或?yàn)?C:Program FilesMongoDBServer3.2binmongod --dbpath D:mongodb-data 。點(diǎn)擊運(yùn)行即可。

安裝 NoSQL Manager for MongoDB 。 https://www.mongodbmanager.co... 下載免費(fèi)版安裝。

MongoDB的API

假設(shè)存在數(shù)據(jù)庫(kù) shop 有集合 goods。

$ mongo

$ show dbs

$ use shop

$ db.goods.find() 查詢(xún)

$ db.goods.findOne() 查詢(xún)一條數(shù)據(jù)

$ db.goods.find({"name": "XXX"}) 查詢(xún)name為XXX的所有數(shù)據(jù)

$ db.goods.find({"name": "XXX"},{"_id": 0}) 查詢(xún)結(jié)果不顯示 _id

$ db.goods.find({"name": /X/}) 查詢(xún)name包括X的數(shù)據(jù)

$ db.goods.find({"name":/米/},{"name":1}).limit(3) 查詢(xún)結(jié)果只顯示name的3條數(shù)據(jù)

$ db.goods.find({"price": {"$gte":25,"$lte":27}) 查詢(xún)price在25-27之間的數(shù)據(jù)

$ db.goods.find({"country":{"$ne": "China"}}) 查詢(xún)country不是China的數(shù)據(jù)

$ db.goods.insert({"name": "XXX"}) 增加{"name": "XXX"}這條數(shù)據(jù)

$ db.googs.remove({/* 查詢(xún)條件 */}) 刪除

$ db.goods.update({/* 查詢(xún)條件 */},{"$set": {"name": "newName"}) 更新

$ db.goods.count({/* 查詢(xún)條件 */}

其他查詢(xún)條件

{"country": {"$in": ["China", "USA"]} country是數(shù)組的某一個(gè),相反就是$nin

{"$or":[{"c":{"$gte":85}},{"e":{"$gte":90}}]} c>85或者e>90

{"color":{"$all":["red","black"]}} color有red和black,兩者都有

{"name":{"$not":/li/i} name不存在li,$not 可以反正任何地方取反

{"books.1":"JS"} books是數(shù)組,第二項(xiàng)是JS

{"area.province":"sc"} area是對(duì)象,屬性province是sc

{"books":{"$size":4}} books的長(zhǎng)度為4

備份與還原

把shop備份到D:data:$ mongodump -h 127.0.0.1:27017 -d shop -o D:data

從D:data還原shop: mongorestore -h 127.0.0.1:27017 -d shop D:data

導(dǎo)入數(shù)據(jù)

另起命令行,不是在mongo里面 $ mongoimport --db mydbs --collection product --drop --file file是導(dǎo)入json文件的路徑(),注意--drop是先刪除后導(dǎo)入,也可以不用--drop不刪除直接導(dǎo)入。

Nodejs操作MongoDB
const MongoClient = require("mongodb").MongoClient;
const express = require("express");
const app = express();
const dbName = "mongodb://localhost:27017"; // mongodb的默認(rèn)端口是27017
// connect --> insert、remove、update、find -->close
app.get("/", (req, res) => {
    MongoClient.connect(dbName, (err, db) => {
        if (err) { // err為一串錯(cuò)誤,db為null
            console.log("連接失敗");
            return;
        }
        // 否則就是err為null,db為一串?dāng)?shù)據(jù)
        console.log("連接成功");
        // 在mydata的bbs集合(表)中插入一條數(shù)據(jù),不存在bbs則創(chuàng)建
        db.db("mydata").collection("bbs").insertOne({
            "name": "myfirst"
        }, (err, result) => {
            if (err) {
                console.log("數(shù)據(jù)庫(kù)寫(xiě)入失敗");
                return;
            }
            console.log("成功插入");
            db.close();
        });
    });
    res.end();
});
app.listen(3000);  

有參數(shù)的

const MongoClient = require("mongodb").MongoClient
const express = require("express")
const app = express()
const dbName = "mongodb://localhost:27017"

app.set("view engine", "ejs");

app.get("/add", (req,res)=>{
    res.render("add"); // views目錄下的add.ejs
})

app.get("/manage",(req,res)=>{
    let {name, age, sex} = req.query;
    MongoClient.connect(dbName,(err,db)=>{
        if(err)return;
        
        res.writeHead(200,{"Content-type": "text/html;charset=utf-8"});
        res.write("連接數(shù)據(jù)庫(kù)成功");
        db.db("dnedu").collection("bbs").insertOne({name,age,sex},(err,result)=>{
            if(err)return;

            res.end();
            db.close();
        })
    })
})

app.listen(80);



姓名:

年齡:

性別:

數(shù)據(jù)變化可在 NoSQL Manager for MongoDB 查看。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/97808.html

相關(guān)文章

  • MongoDB最簡(jiǎn)單的入門(mén)教程之五-通過(guò)Restful API訪問(wèn)MongoDB

    摘要:通過(guò)前面四篇的學(xué)習(xí),我們已經(jīng)在本地安裝了一個(gè)數(shù)據(jù)庫(kù),并且通過(guò)一個(gè)簡(jiǎn)單的應(yīng)用的單元測(cè)試,插入了幾條記錄到中,并通過(guò)查看到了插入的數(shù)據(jù)。讀操作最終將會(huì)使用我們?cè)谧詈?jiǎn)單的入門(mén)教程之三使用代碼往里插入數(shù)據(jù)里介紹的方法,即通過(guò)注入的實(shí)例完成對(duì)的操作。 通過(guò)前面四篇的學(xué)習(xí),我們已經(jīng)在本地安裝了一個(gè)MongoDB數(shù)據(jù)庫(kù),并且通過(guò)一個(gè)簡(jiǎn)單的Spring boot應(yīng)用的單元測(cè)試,插入了幾條記錄到Mong...

    xeblog 評(píng)論0 收藏0
  • MongoDB最簡(jiǎn)單的入門(mén)教程之五-通過(guò)Restful API訪問(wèn)MongoDB

    摘要:通過(guò)前面四篇的學(xué)習(xí),我們已經(jīng)在本地安裝了一個(gè)數(shù)據(jù)庫(kù),并且通過(guò)一個(gè)簡(jiǎn)單的應(yīng)用的單元測(cè)試,插入了幾條記錄到中,并通過(guò)查看到了插入的數(shù)據(jù)。讀操作最終將會(huì)使用我們?cè)谧詈?jiǎn)單的入門(mén)教程之三使用代碼往里插入數(shù)據(jù)里介紹的方法,即通過(guò)注入的實(shí)例完成對(duì)的操作。 通過(guò)前面四篇的學(xué)習(xí),我們已經(jīng)在本地安裝了一個(gè)MongoDB數(shù)據(jù)庫(kù),并且通過(guò)一個(gè)簡(jiǎn)單的Spring boot應(yīng)用的單元測(cè)試,插入了幾條記錄到Mong...

    xiaolinbang 評(píng)論0 收藏0
  • MongoDB最簡(jiǎn)單的入門(mén)教程之三 使用Java代碼往MongoDB里插入數(shù)據(jù)

    摘要:前兩篇教程我們介紹了如何搭建的本地環(huán)境最簡(jiǎn)單的入門(mén)教程之一環(huán)境搭建以及如何用讀取里的記錄最簡(jiǎn)單的入門(mén)教程之二使用訪問(wèn)這篇教程我們會(huì)介紹如何使用代碼來(lái)連接。代碼如下和教程二相比,上述代碼的方法里還展示了如何用代碼給數(shù)據(jù)庫(kù)里增加記錄。 前兩篇教程我們介紹了如何搭建MongoDB的本地環(huán)境: MongoDB最簡(jiǎn)單的入門(mén)教程之一 環(huán)境搭建 以及如何用nodejs讀取MongoDB里的記錄: M...

    Kylin_Mountain 評(píng)論0 收藏0
  • MongoDB最簡(jiǎn)單的入門(mén)教程之三 使用Java代碼往MongoDB里插入數(shù)據(jù)

    摘要:前兩篇教程我們介紹了如何搭建的本地環(huán)境最簡(jiǎn)單的入門(mén)教程之一環(huán)境搭建以及如何用讀取里的記錄最簡(jiǎn)單的入門(mén)教程之二使用訪問(wèn)這篇教程我們會(huì)介紹如何使用代碼來(lái)連接。代碼如下和教程二相比,上述代碼的方法里還展示了如何用代碼給數(shù)據(jù)庫(kù)里增加記錄。 前兩篇教程我們介紹了如何搭建MongoDB的本地環(huán)境: MongoDB最簡(jiǎn)單的入門(mén)教程之一 環(huán)境搭建 以及如何用nodejs讀取MongoDB里的記錄: M...

    Hegel_Gu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

weij

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<