MongoDB-基礎(chǔ)使用(一)

零、本文綱要

一、MongoDB相關(guān)概念

  1. 應(yīng)用場(chǎng)景
  2. 體系結(jié)構(gòu)
  3. 數(shù)據(jù)模型

二、使用MongoDB

  1. 安裝MongoDB
  2. 常用命令
    ① 數(shù)據(jù)庫(kù)操作
    ② 集合操作(對(duì)應(yīng)數(shù)據(jù)庫(kù)表操作)
    ③ 文檔操作(相當(dāng)于數(shù)據(jù)庫(kù)CRUD)
    Ⅰ 插入數(shù)據(jù)
    Ⅱ 查詢操作
    Ⅲ 更新操作
    Ⅳ 刪除操作
    ④ 文檔操作(其他常用查詢)
    Ⅰ 統(tǒng)計(jì)操作
    Ⅱ 分頁(yè)操作
    Ⅲ 排序操作
    Ⅳ 模糊查詢(正則查詢)
    Ⅴ 比較查詢
    Ⅵ 包含查詢
    Ⅶ 條件連接查詢
    ⑤ 操作小結(jié)

一萤晴、MongoDB相關(guān)概念

1. 應(yīng)用場(chǎng)景

① 數(shù)據(jù)量大;
② 寫(xiě)入操作頻繁(讀寫(xiě)都很頻繁)胁后;
③ 價(jià)值較低的數(shù)據(jù)店读,對(duì)事務(wù)性要求不高;

2. 體系結(jié)構(gòu)

SQL術(shù)語(yǔ)/概念 MongoDB術(shù)語(yǔ)/概念 解釋說(shuō)明
database database 數(shù)據(jù)庫(kù)
table collection 數(shù)據(jù)庫(kù)表/集合
row document 數(shù)據(jù)記錄行/文檔
column field 數(shù)據(jù)字段/域
index index 索引
table joins / 表連接攀芯,MongoDB不支持
/ 嵌入文檔 MongoDB通過(guò)嵌入式文檔來(lái)替代多表連接
primary key primary key 主鍵屯断,MongoDB自動(dòng)將_id字段設(shè)置為主鍵

3. 數(shù)據(jù)模型

MongoDB的最小存儲(chǔ)單位就是文檔(document)對(duì)象。文檔(document)對(duì)象對(duì)應(yīng)于關(guān)系型數(shù)據(jù)庫(kù)的行侣诺。
數(shù)據(jù)在MongoDB中以BSON(Binary-JSON)文檔的格式存儲(chǔ)在磁盤(pán)上殖演。

Bson中,除了基本的JSON類(lèi)型:string,integer,boolean,double,null,array和object年鸳;
mongo還使用了特殊的數(shù)據(jù)類(lèi)型趴久,包括:date,object id,binary data,regular expression 和code。

常見(jiàn)數(shù)據(jù)類(lèi)型

數(shù)據(jù)類(lèi)型 描述 舉例
String 字符串搔确。存儲(chǔ)數(shù)據(jù)常用的數(shù)據(jù)類(lèi)型彼棍。在 MongoDB 中灭忠,UTF-8 編碼的字符串才是合法的。 {"x" : "foobar"}
Integer 整型數(shù)值滥酥。用于存儲(chǔ)數(shù)值更舞。根據(jù)你所采用的服務(wù)器,可分為 32 位或 64 位坎吻。 shell是不支持該類(lèi)型的缆蝉,
shell中默認(rèn)會(huì)轉(zhuǎn)換成64位浮點(diǎn)數(shù)
Boolean 布爾值。用于存儲(chǔ)布爾值(真/假)瘦真。 {"x":true}+
Double 雙精度浮點(diǎn)值刊头。用于存儲(chǔ)浮點(diǎn)值。 {"x":3.14159诸尽,"y":3}
Min/Max keys 將一個(gè)值與 BSON(二進(jìn)制的 JSON)元素的最低值和最高值相對(duì)比原杂。
Array 用于將數(shù)組或列表或多個(gè)值存儲(chǔ)為一個(gè)鍵。 {"x" : ["a", "b", "c"]}
Timestamp 時(shí)間戳您机。記錄文檔修改或添加的具體時(shí)間穿肄。
Object 用于內(nèi)嵌文檔。
Null 用于創(chuàng)建空值际看。 {"x":null}
Symbol 符號(hào)咸产。該數(shù)據(jù)類(lèi)型基本上等同于字符串類(lèi)型,但不同的是仲闽,它一般用于采用特殊符號(hào)類(lèi)型的語(yǔ)言脑溢。
Date 日期時(shí)間。用 UNIX 時(shí)間格式來(lái)存儲(chǔ)當(dāng)前日期或時(shí)間赖欣。你可以指定自己的日期時(shí)間:創(chuàng)建 Date 對(duì)象屑彻,傳入年月日信息。
Object ID 對(duì)象 ID顶吮。用于創(chuàng)建文檔的 ID社牲。 {"X" :ObjectId() }
Binary Data 二進(jìn)制數(shù)據(jù)。用于存儲(chǔ)二進(jìn)制數(shù)據(jù)云矫。
Code 代碼類(lèi)型膳沽。用于在文檔中存儲(chǔ) JavaScript 代碼。 {"x" : function() { /* …… */ }}
Regular expression 正則表達(dá)式類(lèi)型让禀。用于存儲(chǔ)正則表達(dá)式挑社。 {"x" : /foobar/i}

二、使用MongoDB

1. 安裝MongoDB

下載MongoDB

下載MongoDB.png

① 解壓至指定目錄

tar -zxvf mongodb-linux-x86_64-4.0.10.tgz -C /usr/local

② 準(zhǔn)備數(shù)據(jù)目錄

cd mongodb-linux-x86_64-4.0.10/

mkdir -p single/data/db
mkdir -p single/log

③ 編寫(xiě)配置文件

touch single/mongodb.conf
systemLog:
    #MongoDB發(fā)送所有日志輸出的目標(biāo)指定為文件
    # #The path of the log file to which mongod or mongos should send all diagnostic logging information
    destination: file
    #mongod或mongos應(yīng)向其發(fā)送所有診斷日志記錄信息的日志文件的路徑
    path: "/usr/local/mongodb-linux-x86_64-4.0.10/single/log/mongod.log"
    #當(dāng)mongos或mongod實(shí)例重新啟動(dòng)時(shí)巡揍,mongos或mongod會(huì)將新條目附加到現(xiàn)有日志文件的末尾痛阻。
    logAppend: true
storage:
    #mongod實(shí)例存儲(chǔ)其數(shù)據(jù)的目錄。storage.dbPath設(shè)置僅適用于mongod腮敌。
    ##The directory where the mongod instance stores its data.Default Value is "/data/db".
    dbPath: "/usr/local/mongodb-linux-x86_64-4.0.10/single/data/db"
    journal:
        #啟用或禁用持久性日志以確保數(shù)據(jù)文件保持有效和可恢復(fù)阱当。
        enabled: true
processManagement:
    #啟用在后臺(tái)運(yùn)行mongos或mongod進(jìn)程的守護(hù)進(jìn)程模式俏扩。
    fork: true
net:
    #服務(wù)實(shí)例綁定的IP,默認(rèn)是localhost
    bindIp: localhost,192.168.253.128
    #bindIp
    #綁定的端口弊添,默認(rèn)是27017
    port: 27017

④ 啟動(dòng)MongoDB服務(wù)

bin/mongod -f single/mongodb.conf

查看進(jìn)程啟動(dòng)情況:ps -ef | grep mongod

⑤ 關(guān)閉MongoDB服務(wù)

標(biāo)準(zhǔn)的關(guān)閉方法需要連接至其客戶端進(jìn)行關(guān)閉录淡,如下:

bin/mongo --port 27017
use admin
db.shutdownServer()

如果遇到數(shù)據(jù)損壞:

rm -f single/data/db/*.lock
bin/mongod --repair --dbpath=single/data/db

2. 常用命令

MongoDB官方文檔,這個(gè)網(wǎng)址不穩(wěn)定油坝,需要飛機(jī)嫉戚。

首先登錄其client端bin/mongo --port 27017,此處也可以使用其他數(shù)據(jù)庫(kù)客戶端直接連接澈圈,如:DataGrip彬檀。

① 數(shù)據(jù)庫(kù)操作

# 創(chuàng)建數(shù)據(jù)庫(kù)
use [database_name]
#如:
use db_test

# 查看當(dāng)前權(quán)限的所有數(shù)據(jù)庫(kù)
show databases
show dbs

# 查看當(dāng)前正在使用的數(shù)據(jù)庫(kù)
db

# 刪除數(shù)據(jù)庫(kù),刪除當(dāng)前數(shù)據(jù)庫(kù)
db.dropDatabase()

② 集合操作(對(duì)應(yīng)數(shù)據(jù)庫(kù)表操作)

# 顯示創(chuàng)建(了解)
db.createCollection(["collection_name"])
#如:
db.createCollection("collection_test")

#查看當(dāng)前庫(kù)中的集合(對(duì)應(yīng)數(shù)據(jù)庫(kù)的表)
show collections
show tables

# 刪除集合
db.collection.drop()
db.[collection_name].drop()
#如:
db.collection_test.drop()

③ 文檔操作(相當(dāng)于數(shù)據(jù)庫(kù)CRUD)

Ⅰ 插入數(shù)據(jù)

注意:此處插入的數(shù)據(jù)后續(xù)會(huì)持續(xù)用到瞬女,如果后續(xù)數(shù)據(jù)不足可以重新插入幾個(gè)窍帝。

# 單個(gè)文檔插入
db.collection.insertOne(
   <document>,
   {
      writeConcern: <document>
   }
)
#如:
db.collection_test.insertOne(
    {
        "articleid":"100000",
        "content":"今天天氣真好,陽(yáng)光明媚",
        "userid":"1001",
        "nickname":"Rose",
        "createdatetime":new Date(),
        "likenum":NumberInt(10),
        "state":null
    }
)

# 批量插入
db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)
#如:
db.collection_test.insertMany([
    {
        "_id":"1",
        "articleid":"100001",
        "content":"我們不應(yīng)該把清晨浪費(fèi)在手機(jī)上诽偷,健康很重要坤学,一杯溫水幸福你我他。",
        "userid":"1002",
        "nickname":"相忘于江湖",
        "createdatetime":new Date("2019-08-05T22:08:15.522Z"),
        "likenum":NumberInt(1000),
        "state":"1"
    },
    {
        "_id":"2",
        "articleid":"100001",
        "content":"我夏天空腹喝涼開(kāi)水报慕,冬天喝溫開(kāi)水",
        "userid":"1005",
        "nickname":"伊人憔悴",
        "createdatetime":new Date("2019-08-05T23:58:51.485Z"),
        "likenum":NumberInt(888),
        "state":"1"
    }
]);

參數(shù)說(shuō)明:
document:要寫(xiě)入的文檔拥峦;
writeConcern:寫(xiě)入策略,默認(rèn)為 1卖子,即要求確認(rèn)寫(xiě)操作,0 是不要求刑峡;
ordered:指定是否按順序?qū)懭胙竺觯J(rèn) true,按順序?qū)懭搿?br> 一般我們都只寫(xiě)<document>突梦,writeConcern 與 ordered 使用默認(rèn)值即可诫舅。

Ⅱ 查詢操作

# 查詢所有
db.[collection_name].find()
db.[collection_name].find({})
#如:
db.collection_test.find();

# 條件查詢
db.[collection_name].find(
    {
        [field_name]: [field_value]
    }
)
#如:
db.collection_test.find({articleid: "100000"})
db.collection_test.find({articleid: "100001", likenum: 888})

# 投影查詢:指定顯示與不顯示的字段
db.[collection_name].find(
    {
        [field_name]: [field_value]
    },
    {
        [field_name]: 1, #顯示
        [field_name]: 0  #不顯示
    }
)
#如:
db.collection_test.find(
    {articleid: "100001", likenum: 888},
    {_id: 0, articleid: 1, likenum: 1}
)
查詢?nèi)?png

Ⅲ 更新操作

# 單個(gè)更新操作
db.collection.updateOne(
   <filter>,
   <update>,
   {
     upsert: <boolean>,
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, ... ],
     hint:  <document|string>        // Available starting in MongoDB 4.2.1
   }
)
#如:
db.collection_test.updateOne(
    {articleid: "100000"},
    {$set:{likenum:NumberInt(99)}}
)

# 批量更新
db.collection.updateMany(
   <filter>,
   <update>,
   {
     upsert: <boolean>,
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, ... ],
     hint:  <document|string>        // Available starting in MongoDB 4.2.1
   }
)
#如:
db.collection_test.updateMany(
    {articleid: "100001"},
    {$set:{likenum:NumberInt(99)}}
)

# 列值增長(zhǎng) $inc
db.collection_test.updateMany(
    {_id: "2"},
    {$inc:{likenum:NumberInt(1)}}
)

參數(shù)說(shuō)明:
filter : update的查詢條件,類(lèi)似sql update查詢內(nèi)where后面的宫患;
update : update的對(duì)象和一些更新的操作符(如,inc...)等刊懈,也可以理解為sql update查詢內(nèi)set后面的;
upsert : 可選娃闲,這個(gè)參數(shù)的意思是虚汛,如果不存在update的記錄,是否插入objNew皇帮,true為插入卷哩,默認(rèn)是false,不插入属拾;
writeConcern:可選将谊,拋出異常的級(jí)別冷溶;
collation : 可選,指定 用于操作的排序規(guī)則尊浓;
arrayFilters :可選逞频,篩選器文檔數(shù)組,用于確定要對(duì)數(shù)組字段進(jìn)行更新操作要修改的數(shù)組元素栋齿;
hint:可選苗胀,指定用于支持查詢謂詞的索引的文檔或字符串,4.2.1版本開(kāi)始可用褒颈。
一般我們也不通過(guò)語(yǔ)句直接使用這些參數(shù)柒巫。

Ⅳ 刪除操作

# 刪除單個(gè)
db.collection.deleteOne(
   <filter>,
   {
      writeConcern: <document>,
      collation: <document>
   }
)
#如:
db.collection_test.deleteOne(
    {likenum: NumberInt(100)}
)

# 刪除多個(gè)
db.collection.deleteMany(
   <filter>,
   {
      writeConcern: <document>,
      collation: <document>
   }
)
#如:
db.collection_test.deleteMany(
    {likenum: NumberInt(99)}
)
# 刪表跑路
db.collection_test.deleteMany({})

④ 文檔操作(其他常用查詢)

Ⅰ 統(tǒng)計(jì)操作

與4.0功能兼容的MongoDB驅(qū)動(dòng)程序棄用各自的光標(biāo)和收集count()的API,取而代之的是新的API countDocuments()和estimatedDocumentCount()谷丸。
此處堡掏,count()的功能我們會(huì)通過(guò)新的API實(shí)現(xiàn)。

# 統(tǒng)計(jì)操作(類(lèi)似數(shù)據(jù)庫(kù)聚合查詢)
db.collection.countDocuments( <query>, <options> )
#如:
db.collection_test.countDocuments({}) #統(tǒng)計(jì)文檔記錄數(shù)
db.collection_test.countDocuments( #統(tǒng)計(jì)likenum為888的記錄數(shù)
    {likenum: NumberInt(888)}
)

# 不含過(guò)濾規(guī)則的統(tǒng)計(jì)
db.collection.estimatedDocumentCount( <options> )
#如:
db.collection_test.estimatedDocumentCount({})

options參數(shù)說(shuō)明
limit 整數(shù) 可選 要計(jì)算的最大文件數(shù)刨疼。
skip 整數(shù) 可選 計(jì)數(shù)前要跳過(guò)的文檔數(shù)泉唁。
hint 字符串或文件 可選 用于查詢的索引名稱(chēng)或索引規(guī)范。
maxTimeMS 整數(shù) 可選的 允許計(jì)數(shù)運(yùn)行的最長(zhǎng)時(shí)間揩慕。

避免使用db.collection.count()沒(méi)有查詢謂詞的方法亭畜,因?yàn)槿绻麤](méi)有查詢謂詞,該方法將基于集合的元數(shù)據(jù)返回結(jié)果迎卤,這可能會(huì)導(dǎo)致近似計(jì)數(shù)拴鸵。
特別是:
a、在分片群集上蜗搔,結(jié)果計(jì)數(shù)將無(wú)法正確過(guò)濾出孤立的文檔劲藐;
b、不正常關(guān)機(jī)后樟凄,計(jì)數(shù)可能不正確聘芜。

Ⅱ 分頁(yè)操作

# 分頁(yè)查詢
db.collection.find().limit(NUMBER).skip(NUMBER)
#如:
db.collection_test.find().limit(2).skip(2)

Ⅲ 排序操作

# 排序操作
db.collection.find().sort(
    {
        field_name: 1,  #1表示升序
        field_name: -1  #-1表示降序
    }
)
#如:
db.collection_test.find().sort(
    {
        state: 1,
        likenum: -1
    }
)

Ⅳ 模糊查詢(正則查詢)

# 正則查詢
db.collection.find({field_name:/正則表達(dá)式/})
#如:
db.collection_test.find(
    {nickname: /江湖/}
)

Ⅴ 比較查詢

# 比較查詢
db.collection.find({ field_name : { $gt: value }}) // 大于: field > value
db.collection.find({ field_name : { $lt: value }}) // 小于: field < value
db.collection.find({ field_name : { $gte: value }}) // 大于等于: field >= value
db.collection.find({ field_name : { $lte: value }}) // 小于等于: field <= value
db.collection.find({ field_name : { $ne: value }}) // 不等于: field != value
#如:
db.collection_test.find(
    {likenum: {$gt: NumberInt(999)}}
)

Ⅵ 包含查詢

# 包含查詢
db.collection.find({ field_name : { $in:[ value1, value2]}})
db.collection.find({ field_name : { $nin:[ value1, value2]}})
#如:
db.collection_test.find(
    {likenum: {$in: [NumberInt(888), NumberInt(1000)]}}
)

Ⅶ 條件連接查詢

# and連接
db.collection.find({ $and:[{}, {}] })
#如:
db.collection_test.find({
    $and: [
        {likenum: {$gte: NumberInt(900)}},
        {likenum: {$lte: NumberInt(1000)}}
    ]
})

# or連接
db.collection.find({ $or:[{}, {}] })
#如:
db.collection_test.find({
    $or: [
        {likenum: {$lte: NumberInt(900)}},
        {likenum: {$gte: NumberInt(950)}}
    ]
})

⑤ 操作小結(jié)

1. 選擇切換數(shù)據(jù)庫(kù):use collection

2. 插入數(shù)據(jù):db.collection.insert({bson數(shù)據(jù)})

3. 查詢所有數(shù)據(jù):db.collection.find()

4. 條件查詢數(shù)據(jù):db.collection.find({條件})

5. 查詢符合條件的第一條記錄:db.collection.findOne({條件})

6. 查詢符合條件的前幾條記錄:db.collection.find({條件}).limit(條數(shù))

7. 查詢符合條件的跳過(guò)的記錄:db.collection.find({條件}).skip(條數(shù))

8. 修改數(shù)據(jù):db.collection.updateOne({條件},{修改后的數(shù)據(jù)}) 
或 db.collection.updateOne({條件},{$set:{要修改部分的字段:數(shù)據(jù)})
或 db.collection.updateMany({條件},{修改后的數(shù)據(jù)}) 

9. 修改數(shù)據(jù)并自增某字段值:db.collection.updateOne({條件},{$inc:{自增的字段:步進(jìn)值}})

10. 刪除數(shù)據(jù):db.collection.deleteOne({條件})
或 db.collection.deleteMany({條件})

11. 統(tǒng)計(jì)查詢:db.collection.count({條件})
或 db.collection.countDocuments({條件})
或 db.collection.estimatedDocumentCount()

12. 模糊查詢:db.collection.find({字段名:/正則表達(dá)式/})

13. 條件比較運(yùn)算:db.collection.find({字段名:{$gt:值}})

14. 包含查詢:db.collection.find({字段名:{$in:[值1,值2]}})
或 db.collection.find({字段名:{$nin:[值1缝龄,值2]}})

15. 條件連接查詢:db.collection.find({$and:[{條件1},{條件2}]})
或 db.collection.find({$or:[{條件1},{條件2}]})

三汰现、結(jié)尾

以上即為MongoDB-基礎(chǔ)使用(一)的全部?jī)?nèi)容,感謝閱讀叔壤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瞎饲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子炼绘,更是在濱河造成了極大的恐慌企软,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饭望,死亡現(xiàn)場(chǎng)離奇詭異仗哨,居然都是意外死亡形庭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)厌漂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)萨醒,“玉大人,你說(shuō)我怎么就攤上這事苇倡「恢剑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵旨椒,是天一觀的道長(zhǎng)晓褪。 經(jīng)常有香客問(wèn)我,道長(zhǎng)综慎,這世上最難降的妖魔是什么涣仿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮示惊,結(jié)果婚禮上好港,老公的妹妹穿的比我還像新娘。我一直安慰自己米罚,他們只是感情好钧汹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著录择,像睡著了一般拔莱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上隘竭,一...
    開(kāi)封第一講書(shū)人閱讀 51,208評(píng)論 1 299
  • 那天辨宠,我揣著相機(jī)與錄音,去河邊找鬼货裹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛精偿,可吹牛的內(nèi)容都是我干的弧圆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼笔咽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼搔预!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起叶组,我...
    開(kāi)封第一講書(shū)人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拯田,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后甩十,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體船庇,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吭产,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸭轮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臣淤。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖窃爷,靈堂內(nèi)的尸體忽然破棺而出邑蒋,到底是詐尸還是另有隱情,我是刑警寧澤按厘,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布医吊,位于F島的核電站,受9級(jí)特大地震影響逮京,放射性物質(zhì)發(fā)生泄漏卿堂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一造虏、第九天 我趴在偏房一處隱蔽的房頂上張望御吞。 院中可真熱鬧,春花似錦漓藕、人聲如沸陶珠。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)揍诽。三九已至,卻和暖如春栗竖,著一層夾襖步出監(jiān)牢的瞬間暑脆,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工狐肢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留添吗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓份名,卻偏偏與公主長(zhǎng)得像碟联,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子僵腺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容