collection.where

2020-08-28 11:44 更新

解釋?zhuān)褐付〝?shù)據(jù)庫(kù)集合的篩選條件。

參數(shù)說(shuō)明

該方法的傳入?yún)?shù)為必填參數(shù),參數(shù)類(lèi)型為對(duì)象類(lèi)型,用來(lái)定義篩選條件。

代碼示例 1

找出 address 的值為'beijing'的用戶:

swan.cloud.init({
    env: 'envId'
});
const db = swan.cloud.database();
db.collection('users')
    .where({
        address: 'beijing'
    })
    .get()
    .then(res => {
        console.log(res);
    })
    .catch(err => {
        console.warn(err);
    });

代碼示例 2

在查詢(xún)條件中我們也可以指定匹配一個(gè)嵌套字段的值,比如找出自己的地址所在的街道:

swan.cloud.init({
    env: 'envId'
});
const db = swan.cloud.database();
db.collection('users')
    .where({
        address: {
            street: 'xueqingRoad'
        },
        done: false
    })
    .get({
        success: res => console.log(res.data),
        fail: err => console.warn(err.errMsg)
    });

代碼示例 3

也可以用 "點(diǎn)表示法" 表示嵌套字段:

swan.cloud.init({
    env: 'envId'
});
const db = swan.cloud.database();
db.collection('users')
    .where({
        'address.street': 'xueqingRoad'
    })
    .get()
    .then(res => {
        console.log(res.data);
    })
    .catch(err => {
        console.log(err.errMsg);
    });

代碼示例 4

匹配數(shù)組第 n 項(xiàng)元素

{
  "numbers": [10, 20, 30]
}
swan.cloud.init({
    env: 'envId'
});
const db = swan.cloud.database();
db.collection('todos')
    .where({
        'numbers.1': 20
    })
    .get()

代碼示例 5

更新數(shù)組中第一個(gè)匹配到的元素, 讓所有 numbers 中的第一個(gè) 20 的元素更新為 25:

{
    "id": "_one",
    "numbers": [10, 20, 30]
}
{
    "id": "_two",
    "numbers": [20, 20, 40]
}
// 注意:批量更新需在云函數(shù)中進(jìn)行
const _ = db.command
db.collection('todos').where({
        numbers: 20
    }).update({
    data: {
        'numbers.$': 25
    }
})

代碼示例 6

更新數(shù)組中所有匹配的元素, 讓 numbers.math 字段所有數(shù)字加 10:

{
    "id": "_one",
    "numbers": {
        "math": [10, 20, 30]
    }
}
// 注意:批量更新需在云函數(shù)中進(jìn)行
const _ = db.command
db.collection('todos').doc('_one').update({
    data: {
        'numbers.math.$[]': _.inc(10)
    }
})


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)