全匹配查詢

更新時間:
Copy as MD

全匹配查詢(MatchAllQuery)可以匹配所有行,常用於查詢表中資料總行數,或者隨機返回幾條資料。

前提條件

參數

參數

說明

tableName

資料表名稱。

indexName

多元索引名稱。

offset

本次查詢的起始位置。

limit

本次查詢返回的最大行數。

僅需擷取總行數而不需要具體資料時,設定為 0。

query

查詢類型。全匹配查詢設定為 TableStore.QueryType.MATCH_ALL_QUERY

getTotalCount

是否返回匹配的總行數。預設值為 false

設定為 true 會影響查詢效能。

columnToGet

每行匹配結果返回的列。通過 returnTypereturnNames 配置。

  • 當設定returnTypeTableStore.ColumnReturnType.RETURN_SPECIFIED時,需要通過returnNames指定返回的列。

  • 當設定returnTypeTableStore.ColumnReturnType.RETURN_ALL時,表示返回所有列。

  • 當設定returnTypeTableStore.ColumnReturnType.RETURN_ALL_FROM_INDEX時,表示返回多元索引中的所有列。.

  • 當設定returnTypeTableStore.ColumnReturnType.RETURN_NONE時,表示不返回所有列,只返回主鍵列。

樣本

以下樣本通過全匹配查詢統計資料表的總行數:

/**
 * 通過全匹配查詢統計資料表的總行數。
 */
client.search({
    tableName: TABLE_NAME,
    indexName: INDEX_NAME,
    searchQuery: {
        offset: 0,
        limit: 10, // 僅需擷取總行數時設定為 0,不返回具體資料。
        query: {
            queryType: TableStore.QueryType.MATCH_ALL_QUERY
        },
        getTotalCount: true // 設定為 true 返回匹配的總行數。預設值為 false。
    },
    columnToGet: { // RETURN_SPECIFIED:返回指定列;RETURN_ALL:返回所有列;RETURN_ALL_FROM_INDEX:返回多元索引中的所有列;RETURN_NONE:僅返回主鍵列。
        returnType: TableStore.ColumnReturnType.RETURN_SPECIFIED,
        returnNames: ["Col_1", "Col_2", "Col_3"]
    }
}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', JSON.stringify(data, null, 2));
});

常見問題

如何查看錶的總行數

相關文檔