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

資訊專欄INFORMATION COLUMN

mongoose(貓鼬)

ephererid / 1245人閱讀

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

[email protected] 快速入門
const mongoose = require("mongoose");

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

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

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

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

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

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

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在多個值范圍內(nèi)

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

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

$regex正則,用于模糊查詢

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

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

$mod取模運算

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

$exists字段是否存在

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

$within范圍查詢( 基于LBS)

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

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

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

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

查詢數(shù)量
Kitten.count({/* 查詢條件 */},(err,num)=>{})
分頁查詢(important)
let findCondition = {}; // 查詢條件
let pageSize = 10; // 每頁多少條
let currPage = 5; // 當(dāng)前是多少頁
let skipNum = (currPage-1)*pageSize; // 跳過條數(shù)。比如現(xiàn)在是第5頁,就跳過前4頁乘以每頁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({/*查詢條件*/}, {/*更改項目*/}, {}, (err,res)=>{}); // 第三個參數(shù)設(shè)為`{multi: false}`只更新一個文檔。

更改文檔某一條(些)數(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開始的。每個Scheam映射到MongoDB集合,并定義該集合中 documnet 的數(shù)據(jù)格式類型。

https://mongoosejs.com/docs

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

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

相關(guān)文章

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

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

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

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

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

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

    劉玉平 評論0 收藏0

發(fā)表評論

0條評論

ephererid

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<