Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8922

FirestoreでMapオブジェクト内のフィールドに対してWhere検索する

$
0
0
はじめに 以下のような、Mapオブジェクトを持つコレクションに対してWhere句で条件指定してデータ取得するメモ。 自分用備忘録を兼ねる。(むしろそっちの目的が大きい) 検索方法 where('[フィールド名].[Mapオブジェクト内のフィールド名]' , '==' , 'hogehoge')のように指定する。 上の例だとwhere('data.name','==','hogehoge')とする。 以下Node.jsのサンプル const admin = require('firebase-admin'); admin.initializeApp(); const db = admin.firestore(); const hogehoge = db.collection('Hogehoge'); async function getHogehoge() { try { const querySnapShot = await hogehoge.where('data.name' , '==' , 'hogehoge').get(); // ここで条件指定する var datas = []; querySnapShot.forEach(async (d)=>{ datas.push(await d.data()); }); return datas; } catch(err) { throw err; } } module.exports = { getHogehoge: getHogehoge, }; 演算子==の部分は公式ドキュメントに載っている他の演算子も利用可能。 https://firebase.google.com/docs/firestore/query-data/queries?hl=ja#query_operators 上記のドキュメントにはMapオブジェクトに対するWhereの指定が明記されてないように見えたので一応自分用にメモとして興した。

Viewing all articles
Browse latest Browse all 8922

Trending Articles