亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

mongoose(貓鼬)

ephererid / 1288人閱讀

摘要:比如現(xiàn)在是第頁(yè),就跳過前頁(yè)乘以每頁(yè)條。按降序排序更新查詢條件更改項(xiàng)目第三個(gè)參數(shù)設(shè)為只更新一個(gè)文檔。更改文檔某一條些數(shù)據(jù)再調(diào)用方法也可更新。刪除查詢條件其他常用的增刪改查解讀的一切都是從開始的。每個(gè)映射到集合,并定義該集合中的數(shù)據(jù)格式類型。

mongoose@5.2.13 快速入門
const mongoose = require("mongoose");

/* 連接數(shù)據(jù)庫(kù) */
mongoose.connect("mongodb://localhost/mytest", {useNewUrlParser: true}); // 如果沒有mytest這個(gè)數(shù)據(jù)庫(kù),則會(huì)自行創(chuàng)建
let db = mongoose.connection;
// 如果連接發(fā)生錯(cuò)誤
db.on("error", ()=>{console.error("連接錯(cuò)誤")});
// 如果連接成功
db.once("open", ()=>{console.log("已經(jīng)連接")});

/* 注冊(cè)一個(gè)集合kittens */
let kittySchema = new mongoose.Schema({
    name: String,
    age: Number
});
// 添加方法,被編譯到Model原型并在每個(gè)文檔實(shí)例上公開
kittySchema.methods.talk = function(){
    let greeting = this.name || "我還沒有名字";
    console.log(`我叫${greeting}`);
};
let Kitten = mongoose.model("kittens", kittySchema);

/* 創(chuàng)建kittens集合的文檔(實(shí)例,即一條數(shù)據(jù))*/
let silence = new Kitten({
    name: "silence",
    age: 1
});
// console.log(silence); 會(huì)自動(dòng)加一個(gè) _id 的屬性

let fluffy = new Kitten({
    name: "fluffy",
    age: .5
});

// 存到MongoDB上
silence.save();
fluffy.save((err, result)=>{
    if(err)return;
    fluffy.talk();
});
查詢

第一個(gè)參數(shù)是查詢條件,第二個(gè)參數(shù)指定結(jié)果輸出的項(xiàng)目(可省略,就是全部輸出)。

Kitten.find({name: /^flu/}, {name: 1, _id: 0},(err, result)=>{
    if(err)return;
    console.log(result);
})
基礎(chǔ)查詢
Kitten.findOne()
利用id的唯一性查詢
Kitten.findById(_id,callback)
利用正則表達(dá)式模糊查詢
let findCondition = {
    name: {
        $regex: /si/i
    }
}
其他條件
{
    age: {
        $gte: 18 // age >= 18
    }
}

$or或關(guān)系

$nor或關(guān)系取反

$gt大于

$gte大于等于

$lt小于

$lte小于等于

$ne不等于

$in在多個(gè)值范圍內(nèi)

$nin不在多個(gè)值范圍內(nèi)

$all匹配數(shù)組中多個(gè)值

$regex正則,用于模糊查詢

$size匹配數(shù)組大小

$maxDistance范圍查詢,距離(基于LBS)

$mod取模運(yùn)算

$near鄰域查詢,查詢附近的位置(基于LBS)

$exists字段是否存在

$elemMatch匹配內(nèi)數(shù)組內(nèi)的元素

$within范圍查詢( 基于LBS)

$box范圍查詢,矩形范圍(基于LBS)

$center范圍醒詢,圓形范圍(基于LBS)

$centerSphere范圍查詢,球形范圍(基于LBS) 

$slice查詢字段集合中的元素(比如從第幾個(gè)之后,第N到第M個(gè)元素)

查詢數(shù)量
Kitten.count({/* 查詢條件 */},(err,num)=>{})
分頁(yè)查詢(important)
let findCondition = {}; // 查詢條件
let pageSize = 10; // 每頁(yè)多少條
let currPage = 5; // 當(dāng)前是多少頁(yè)
let skipNum = (currPage-1)*pageSize; // 跳過條數(shù)。比如現(xiàn)在是第5頁(yè),就跳過前4頁(yè)乘以每頁(yè)10條。
let sort = {
    age: -1 // 按age降序排序
}
Kitten.find(findCondition,{_id:0,age:1,name:1})
      .skip(skipNum)
      .limit(pageSize)
      .sort(sort)
      .exec((err,result)=>{});
更新
Kitten.update({/*查詢條件*/}, {/*更改項(xiàng)目*/}, {}, (err,res)=>{}); // 第三個(gè)參數(shù)設(shè)為`{multi: false}`只更新一個(gè)文檔。

更改文檔某一條(些)數(shù)據(jù)再調(diào)用save方法也可更新。

刪除
Kitten.remove({/* 查詢條件 */}, callback)
其他常用的增刪改查api

Model.deleteMany()

Model.deleteOne()

Model.findById()

Model.findByIdAndDelete()

Model.findByIdAndRemove()

Model.findByIdAndUpdate()

Model.findOneAndDelete()

Model.findOneAndRemove()

Model.findOneAndUpdate()

Model.replaceOne()

Model.updateMany()

Model.updateOne()

解讀Schema

mongoose的一切都是從Schema開始的。每個(gè)Scheam映射到MongoDB集合,并定義該集合中 documnet 的數(shù)據(jù)格式類型。

https://mongoosejs.com/docs

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

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

相關(guān)文章

  • 在Node中基于Mongoose對(duì)MongoDB進(jìn)行增刪查改(CRUD)操作(一)

    摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫(kù),在這個(gè)節(jié)目可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對(duì)進(jìn)行增刪查改操作的簡(jiǎn)單介紹,以后會(huì)有進(jìn)階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...

    lemon 評(píng)論0 收藏0
  • 在Node中基于Mongoose對(duì)MongoDB進(jìn)行增刪查改(CRUD)操作(一)

    摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫(kù),在這個(gè)節(jié)目可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對(duì)進(jìn)行增刪查改操作的簡(jiǎn)單介紹,以后會(huì)有進(jìn)階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...

    SillyMonkey 評(píng)論0 收藏0
  • mongodb數(shù)據(jù)庫(kù)的使用

    最近在學(xué)習(xí)node,所以聽說node和mongodb更配哦。。所以我就來學(xué)習(xí)mongodb了showImg(https://segmentfault.com/img/remote/1460000006818697); 一、mongodb的開啟和關(guān)閉 1. 查找mongod是否可用 which mongod 2. 啟動(dòng)mongodb 指定path 和log日志 mongod --dbpath /...

    劉玉平 評(píng)論0 收藏0

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

0條評(píng)論

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