"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

mongoose

node.js x mongoose でリレーション(コレクション間のjoin)(populate)方法

mongooseではテーブル(コレクション)のリレーションを持つ形でデータをRDBMSのように管理できます。[リレーションのイメージ] [モデルの定義] // グールプというコレクション var GroupSchema = new mongoose.Schema({ name : String, member : [MemberSch…

node.js x mongoose でデータ(エントリ)の削除方法

node.js x mongoose を使ったドキュメント削除の方法。 一つのエントリを削除 1つのエントリを削除。複数のドキュメントがマッチする場合、一番古いものが1つ消されます。 Group.findOneAndRemove({ "name" : "cooking" }, function(err){ if(err) throw e…

node.js x mongoose でOR/AND/AND&OR組み合わせ検索する(find)方法

node.jsとmongooseを使ったfindでのAND/OR検索。[目次] ANDを使った検索 ORを使った検索 ANDとORの組合せ 参考 ANDを使った検索 Groupコレクションで、「memberがjohnかつstatusが1」 かつ 「created_byがmeでstatusが1」のデータを検索。 var query = { $an…

node.js x mongoose でkey(フィールド)を指定して値を取得する(find)方法

SQL文で言う、"select field1,field2 from table" をmongoose(mongodb)で行いたい場合のやりかた。 var selection = 'key1 key2 key3'; Somedata.find({},selection, function(err, data){ if(err){ console.log(err); }else{ console.log(data); } }); 結果…

node.js x mongoose で データ取得範囲を指定する方法(比較)

mongooseの比較演算子を使って、データの取得範囲を指定する方法。MySQLで言う、">="、"$gteが以上(指定値含む)、$lteが以下(指定値含む)です。以下では flag が "1" かつ、value が small_value以上、big_value以上のデータを取得します。 Somedata.find({ …

node.js x mongoose でinsertした_idを取得する方法

Node.jsとmongooseを使って、データを挿入した際、そのデータの_idを取得したいとする。 こんな感じで、saveした際に入ってくるdataが挿入したエントリとなりそこに_idも入ってくる。 var addUser = new User({ user_id : val1, name : val2, password : val…

node.js x mongoose での組み込みドキュメント(サブドキュメント)の使い方

コレクション間に親子関係を持たせてデータを管理できる機能のサブドキュメント。例)・familyコレクションのサブドキュメントとして"children"ドキュメントを持つ。 "father" : "ジョンお父さん" "mother" : "キャサリング母さん" "children" : [ "name" : …