Mongodb下載安裝+啟動報錯解決+基本語法

Mongodb下載

MongoDB的官網(wǎng)是:http://www.mongodb.org/
或者http://dl.mongodb.org/dl/win32/x86_64

Mongodb安裝及報錯解決方式

下載的安裝包解壓至某個路徑即可轨帜。

mongo啟動方式:進(jìn)入mongodb壓縮包下bin目錄,執(zhí)行輸入mongo啟動著拭。如圖:

image.png

mongo啟動報錯解決方式:如果啟動報錯如下:

connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
2019-07-18T15:02:35.529+0800 E QUERY [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: :
connect@src/mongo/shell/mongo.js:342:17

解決方式:

  1. 在mongodb目錄下創(chuàng)建\data\db ,\data\log 兩個文件夾
    linux命令:mkdir -p data/db data/log


    image-20200711152933073.png

    2.進(jìn)入bin目錄執(zhí)行mongod命令朵耕,上面兩個文件夾進(jìn)行關(guān)聯(lián)。(如果要關(guān)聯(lián)log文件夾,則用--logpath屬性.)


    image-20200711153054952.png

    3厚脉、再執(zhí)行mongo命令羊苟,即可看到正常啟動.
    image-20200711153328326.png

    訪問:http://127.0.0.1:27017

    如果頁面出現(xiàn):It looks like you are trying to access MongoDB over HTTP on the native driver port.則表示正常啟動

基本語法

> show databases
admin   0.000GB
config  0.000GB
local   0.000GB
> use admin
switched to db admin
> use test   --使用不存在的數(shù)據(jù)庫時腹备,mongodb會隱式創(chuàng)建
switched to db test
> show databases
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB
> show collections  --查看集合
>
> db.createCollection('c1')  --創(chuàng)建簡單集合
{ "ok" : 1 }
> db.createCollection('c2')
{ "ok" : 1 }
> show collections
c1
c2
> db.c1.drop()  --刪除集合
true
> show collections
c2

數(shù)據(jù)的增刪改查
--單條插入
> db.c2.insert({name:"testname",age:"18"})
WriteResult({ "nInserted" : 1 })    --注意:1.插入json格式數(shù)據(jù),這里的c2集合如果不存在,也會隱式創(chuàng)建;2.json數(shù)據(jù)key不加引號,雖然find查看時會有引號.3.會生成一個唯一的_id
> db.c2.find()
{ "_id" : ObjectId("5f09717da7232afeccfee489"), "name" : "testname", "age" : "18" }

--多條插入
> db.c2.insert([{name:"lisi",age:"2"},{name:"zhangs",age:"3"},{name:"wangwu",age:"20"}])  --利用數(shù)組一次插入多條數(shù)據(jù)
BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 3,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]
})
> db.c2.find()
{ "_id" : ObjectId("5f09717da7232afeccfee489"), "name" : "testname", "age" : "18" }
{ "_id" : ObjectId("5f0973a1a7232afeccfee48a"), "name" : "lisi", "age" : "2" }
{ "_id" : ObjectId("5f0973a1a7232afeccfee48b"), "name" : "zhangs", "age" : "3" }
{ "_id" : ObjectId("5f0973a1a7232afeccfee48c"), "name" : "wangwu", "age" : "20" }

--mongo支持簡單的js語法,一次插入多條數(shù)據(jù)
> for(var i = 1;i <= 10;i++){print(i)}
1
2
3
4
5
6
7
8
9
10
>> for(var i = 1;i <= 10;i++){ db.c3.insert({name:"a"+i,age:i})}
WriteResult({ "nInserted" : 1 })   --執(zhí)行返回結(jié)果1是因為for循環(huán)是逐條插入回右,前面的提示看不到隆圆。
> db.c3.find()
{ "_id" : ObjectId("5f0974f2a7232afeccfee48d"), "name" : "a1", "age" : 1 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48e"), "name" : "a2", "age" : 2 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48f"), "name" : "a3", "age" : 3 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee490"), "name" : "a4", "age" : 4 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee491"), "name" : "a5", "age" : 5 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee492"), "name" : "a6", "age" : 6 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee493"), "name" : "a7", "age" : 7 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee495"), "name" : "a9", "age" : 9 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }

查詢
基礎(chǔ)語法:db.集合名.find(條件 [,查詢的列])
等值查詢
> db.c3.find({age:3})  
{ "_id" : ObjectId("5f0974f2a7232afeccfee48f"), "name" : "a3", "age" : 3 }
--運算符查詢 --$gt  大于
$gte 大于等于
$lt  小于
$lte 小于等于
$ne  不等于
$in  in
$nin not in
> db.c3.find({age:{$gt:3}})
{ "_id" : ObjectId("5f0974f2a7232afeccfee490"), "name" : "a4", "age" : 4 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee491"), "name" : "a5", "age" : 5 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee492"), "name" : "a6", "age" : 6 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee493"), "name" : "a7", "age" : 7 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee495"), "name" : "a9", "age" : 9 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }
> db.c3.find({age:{$in:[5,8,10]}})
{ "_id" : ObjectId("5f0974f2a7232afeccfee491"), "name" : "a5", "age" : 5 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }
--{age:1} 查詢結(jié)果只顯示該字段,{age:0}顯示除了該字段的其他字段
> db.c3.find({age:1},{age:0})
{ "_id" : ObjectId("5f0974f2a7232afeccfee48d"), "name" : "a1" }
> db.c3.find({age:1},{age:1})
{ "_id" : ObjectId("5f0974f2a7232afeccfee48d"), "age" : 1 }
> db.c3.find().pretty()  --格式化語句
--轉(zhuǎn)換格式NumberInt
> db.c3.find({age:{$gt:NumberInt(8)}})
-- $and用法
> db.c3.find({$and:[{age:8},{name:"a10"}]})
--$or用法
> db.c3.find({$or:[{age:8},{name:"a10"}]})
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }

更新
基礎(chǔ)語法:db.集合名.update(條件,新數(shù)據(jù)[,是否新增,是否修改多條])
通過修改器放置值的替換而不是我們需要的修改值
db.集合名.update(條件,新數(shù)據(jù))改為
db.集合名.update(條件,{修改器:{鍵:值}})
修改器有:$inc 遞增
$rename 重命名列
$set         修改列值
$unset     刪除列
> db.c3.update({name:"a3"},{$set:{name:"a33"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.c3.find()
{ "_id" : ObjectId("5f0974f2a7232afeccfee48d"), "name" : "a1", "age" : 1 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48e"), "name" : "a2", "age" : 2 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48f"), "name" : "a33", "age" : 3 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee490"), "name" : "a4", "age" : 4 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee491"), "name" : "a5", "age" : 5 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee492"), "name" : "a6", "age" : 6 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee493"), "name" : "a7", "age" : 7 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee495"), "name" : "a9", "age" : 9 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }
一次修改多個值或?qū)傩?> db.c4.insert({name:"渣渣1",age:"18",who:"男",other:"other"})
WriteResult({ "nInserted" : 1 })
> db.c4.find()
{ "_id" : ObjectId("5f0981b8a7232afeccfee497"), "name" : "渣渣1", "age" : "18", "who" : "男", "other" : "other" }
> db.c4.update({name:"渣渣1"},{$set:{name:"渣渣66"},$rename:{who:"set"},$unset:{other:true}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.c4.find()
{ "_id" : ObjectId("5f0981b8a7232afeccfee497"), "name" : "渣渣66", "age" : "18", "set" : "男" }

--刪除
基本語法:db.集合名.remove(條件 [,是否刪除一條])
注意:是否刪除一條true是翔烁,false否-默認(rèn)刪除多條
> db.c3.find()
{ "_id" : ObjectId("5f0974f2a7232afeccfee48d"), "name" : "a1", "age" : 1 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48e"), "name" : "a2", "age" : 2 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48f"), "name" : "a33", "age" : 3 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee490"), "name" : "a4", "age" : 4 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee491"), "name" : "a5", "age" : 5 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee492"), "name" : "a6", "age" : 6 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee493"), "name" : "a7", "age" : 7 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee495"), "name" : "a9", "age" : 9 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }
> db.c3.remove({age:9})
WriteResult({ "nRemoved" : 1 })
> db.c3.find()
{ "_id" : ObjectId("5f0974f2a7232afeccfee48d"), "name" : "a1", "age" : 1 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48e"), "name" : "a2", "age" : 2 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48f"), "name" : "a33", "age" : 3 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee490"), "name" : "a4", "age" : 4 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee491"), "name" : "a5", "age" : 5 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee492"), "name" : "a6", "age" : 6 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee493"), "name" : "a7", "age" : 7 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }

排序
基本語法:db.集合名.find().sort(JSON數(shù)據(jù)) 
1升序 -1降序
> db.c3.find().sort({age:1}) 
{ "_id" : ObjectId("5f0974f2a7232afeccfee48d"), "name" : "a1", "age" : 1 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48e"), "name" : "a2", "age" : 2 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48f"), "name" : "a33", "age" : 3 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee490"), "name" : "a4", "age" : 4 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee491"), "name" : "a5", "age" : 5 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee492"), "name" : "a6", "age" : 6 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee493"), "name" : "a7", "age" : 7 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }
> db.c3.find().sort({age:-1})
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee493"), "name" : "a7", "age" : 7 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee492"), "name" : "a6", "age" : 6 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee491"), "name" : "a5", "age" : 5 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee490"), "name" : "a4", "age" : 4 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48f"), "name" : "a33", "age" : 3 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48e"), "name" : "a2", "age" : 2 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee48d"), "name" : "a1", "age" : 1 }

分頁查詢
limit與skip方法
基本語法:db.集合名.find().sort().skip(數(shù)字).limit(數(shù)字)
> db.c3.find().sort({age:-1}).limit(2)
{ "_id" : ObjectId("5f0974f2a7232afeccfee496"), "name" : "a10", "age" : 10 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee494"), "name" : "a8", "age" : 8 }
> db.c3.find().sort({age:-1}).skip(2).limit(2)
{ "_id" : ObjectId("5f0974f2a7232afeccfee493"), "name" : "a7", "age" : 7 }
{ "_id" : ObjectId("5f0974f2a7232afeccfee492"), "name" : "a6", "age" : 6 }
>

簡單的聚合查詢
基本語法:db.集合名.aggregate([{管道:{表達(dá)式}}])
常用管道:
$group  分組用于統(tǒng)計結(jié)果
$match 過濾數(shù)據(jù)
$sort     聚合數(shù)據(jù)進(jìn)一步排序
$skip     跳過指定文檔數(shù)
$limit     限制集合數(shù)據(jù)返回文檔數(shù)
...
常用表達(dá)式
$sum 綜合 $sum:1同count表示統(tǒng)計
$avg  平均
$min  最小值
$max 最大值
...
 db.c4.find()
{ "_id" : ObjectId("5f099afda7232afeccfee498"), "name" : "testname1", "age" : 1, "sex" : 1 }
{ "_id" : ObjectId("5f099afda7232afeccfee499"), "name" : "testname2", "age" : 2, "sex" : 1 }
{ "_id" : ObjectId("5f099afda7232afeccfee49a"), "name" : "testname3", "age" : 3, "sex" : 2 }
{ "_id" : ObjectId("5f099afda7232afeccfee49b"), "name" : "testname4", "age" : 4, "sex" : 2 }
{ "_id" : ObjectId("5f099affa7232afeccfee49c"), "name" : "testname5", "age" : 5, "sex" : 2 }
--統(tǒng)計1/2分別對應(yīng)的總age
> db.c4.aggregate([{$group:{_id: "$sex",rs:{$sum: "$age"}}}])  --rs是自定義的結(jié)果列的名稱,_id是固定寫法
{ "_id" : 2, "rs" : 12 }
{ "_id" : 1, "rs" : 3 }
--統(tǒng)計1/2對應(yīng)的個數(shù)
> db.c4.aggregate([{$group:{_id: "$sex",rs:{$sum: 1}}}])   --區(qū)分并統(tǒng)計總數(shù)
{ "_id" : 2, "rs" : 3 }
{ "_id" : 1, "rs" : 2 }
--統(tǒng)計總數(shù)渺氧,平均年齡
> db.c4.aggregate([{$group:{_id: null,total_num:{$sum:1},total_avg:{$avg:"$age"}}}])
{ "_id" : null, "total_num" : 5, "total_avg" : 3 }
--查詢1/2的count數(shù)量,按量升序
> db.c4.aggregate([{$group:{_id: "$sex",rs:{$sum: 1}}},{$sort:{rs:1}}])
{ "_id" : 1, "rs" : 2 }
{ "_id" : 2, "rs" : 3 }
> db.c4.aggregate([{$group:{_id: "$sex",rs:{$sum: 1}}},{$sort:{rs:-1}}])
{ "_id" : 2, "rs" : 3 }
{ "_id" : 1, "rs" : 2 }

字段加索引:
--指定name字段加索引(1代表升序,-1代表降序)
> db.c3.createIndex({name:1})   
{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}
--查看集合所有索引,key表示給哪個列設(shè)置了索引,name表示索引名稱
> db.c3.getIndexes()   
[
    {
        "v" : 2,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "test.c3"
    },
    {
        "v" : 2,
        "key" : {
            "name" : 1
        },
        "name" : "name_1",
        "ns" : "test.c3"
    }
]
>
--創(chuàng)建索引并給新索引命名
> db.c3.createIndex({name:1},{name:"saltindex"})
{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}
> db.c3.getIndexes()
[
    {
        "v" : 2,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "test.c3"
    },
    {
        "v" : 2,
        "key" : {
            "name" : 1
        },
        "name" : "saltindex",
        "ns" : "test.c3"
    }
]
>
--刪除索引
> db.c3.dropIndex("name_1")
{ "nIndexesWas" : 2, "ok" : 1 }
> db.c3.getIndexes()
[
    {
        "v" : 2,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "test.c3"
    }
]
--創(chuàng)建組合索引
> db.c3.createIndex({name:1,age:1})
{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 2,
    "numIndexesAfter" : 3,
    "ok" : 1
}
--創(chuàng)建唯一性索引
> db.c3.createIndex({name:1},{unique:"name"})
{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}
> db.c3.getIndexes()
[
    {
        "v" : 2,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "test.c3"
    },
    {
        "v" : 2,
        "unique" : true,
        "key" : {
            "name" : 1
        },
        "name" : "name_1",
        "ns" : "test.c3"
    }
]
>

--查詢查看執(zhí)行計劃
> db.c3.find({age:8}).explain("executionStats")
{
    "queryPlanner" : {
        "plannerVersion" : 1,
        "namespace" : "test.c3",
        "indexFilterSet" : false,
        "parsedQuery" : {
            "age" : {
                "$eq" : 8
            }
        },
        "winningPlan" : {
            "stage" : "COLLSCAN",      
            "filter" : {
                "age" : {
                    "$eq" : 8
                }
            },
            "direction" : "forward"
        },
        "rejectedPlans" : [ ]
    },
    "executionStats" : {
        "executionSuccess" : true,
        "nReturned" : 1,
        "executionTimeMillis" : 0,
        "totalKeysExamined" : 0,
        "totalDocsExamined" : 9,
        "executionStages" : {
            "stage" : "COLLSCAN", --COLLSCAN 全表掃描;IXSCAN 索引掃描租漂;FETCH 根據(jù)索引去檢索指定document
            "filter" : {
                "age" : {
                    "$eq" : 8
                }
            },
            "nReturned" : 1,
            "executionTimeMillisEstimate" : 0,
            "works" : 11,
            "advanced" : 1,
            "needTime" : 9,
            "needYield" : 0,
            "saveState" : 0,
            "restoreState" : 0,
            "isEOF" : 1,
            "direction" : "forward",
            "docsExamined" : 9
        }
    },
    "serverInfo" : {
        "host" : "ruanfengdeMBP.lan",
        "port" : 27017,
        "version" : "4.2.8",
        "gitVersion" : "43d25964249164d76d5e04dd6cf38f6111e21f5f"
    },
    "ok" : 1
}
>

常用命令小結(jié):

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市颊糜,隨后出現(xiàn)的幾起案子哩治,更是在濱河造成了極大的恐慌,老刑警劉巖衬鱼,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件业筏,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸟赫,警方通過查閱死者的電腦和手機(jī)蒜胖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門消别,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人台谢,你說我怎么就攤上這事寻狂。” “怎么了朋沮?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵蛇券,是天一觀的道長。 經(jīng)常有香客問我樊拓,道長纠亚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任筋夏,我火速辦了婚禮蒂胞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘条篷。我一直安慰自己骗随,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布拥娄。 她就那樣靜靜地躺著蚊锹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪稚瘾。 梳的紋絲不亂的頭發(fā)上牡昆,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機(jī)與錄音摊欠,去河邊找鬼丢烘。 笑死,一個胖子當(dāng)著我的面吹牛些椒,可吹牛的內(nèi)容都是我干的播瞳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼免糕,長吁一口氣:“原來是場噩夢啊……” “哼赢乓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起石窑,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤牌芋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后松逊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體躺屁,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年经宏,在試婚紗的時候發(fā)現(xiàn)自己被綠了犀暑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驯击。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖耐亏,靈堂內(nèi)的尸體忽然破棺而出徊都,到底是詐尸還是另有隱情,我是刑警寧澤苹熏,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布碟贾,位于F島的核電站,受9級特大地震影響轨域,放射性物質(zhì)發(fā)生泄漏袱耽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一干发、第九天 我趴在偏房一處隱蔽的房頂上張望朱巨。 院中可真熱鬧,春花似錦枉长、人聲如沸冀续。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洪唐。三九已至,卻和暖如春吼蚁,著一層夾襖步出監(jiān)牢的瞬間凭需,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工肝匆, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留粒蜈,地道東北人。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓旗国,卻偏偏與公主長得像枯怖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子能曾,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359