JavaScriptでの使用

  [Home] | [先頭ページ] | [mongo シェルの使用]

JavaScript API

MongoDB JavaScript API の定義は下記による。

Driver API


MongoClient

MongoClient の詳細

MongoClient class のメンバーは下記の通り。v.1.4.x


Db

Db の詳細

Db class のメンバーは下記の通り。v.1.4.x


Collection

Collection の詳細

Collection class のメンバーは下記の通り。v.1.4.x


Admin

Admin の詳細

Admin class のメンバーは下記の通り。v.1.4.x


Cursor

Cursor の詳細

Cursor class のメンバーは下記の通り。v.1.4.x


Grid

Grid の詳細

Grid class のメンバーは下記の通り。Grid は大容量ファイルを扱うときに使用する。v.1.4.x


GridStore

GridStore の詳細

GridStore class のメンバーは下記の通り。v.1.4.x


mongodb

mongodb は MongoDBの公式ドライバである。下記のページに詳細が書かれている。

Getting Started with MongoDB (Node.js Edition)

このドライバを使っていると、こんなメッセージが表示されることがある。これは、{safe:true} が抜けている場合に表示される。古いサンプルなどでは、これがないものがあるので注意。

使用例 (入れ子が深くなるので見やすいように CoffeeScript で書いてある)

mongo = require 'mongodb'
Server = mongo.Server
Db = mongo.Db

server = new Server('localhost', 27017, {auto_reconnect:true})
db = new Db('test1', server, {safe:true})

db.open((err, db) ->
 if !err
  console.log('接続しました。')
  db.collection('names', (err, collection) ->
   if !err
    collection.find().toArray((err, items)->
     if !err
      console.log('items count = ' + items.length)
      for x in items
       console.log(x.name)
      console.log('-- 終わり --')
      db.close()
    )
  )
)   

mongoose

mongoose は MongoDBの公式ドライバの mongodb のラッパーである。下記のページにわかりやすい解説がある。

@IT Node.js、MongoDBでデータの保存


mongoskin

mongoskin は Express.js で標準になっているミドルウェアで、MongoDBの公式ドライバの mongodb のラッパーである。

Express mongoskin
Github mongoskin

使用例 (CoffeeScript)

db = require('mongoskin').db('mongodb://localhost:27017/test1')

db.collection('names').find().toArray(
 (err, result) ->
  if err
   throw err
  console.log(result)
  db.close()
)

API

サンプルは CoffeeScript で書いてある。

module.db(url, [options, ]callback)
MongoClient.connect(...) のエイリアス。MongoDB に接続する。
mongo = require('mongoskin')
db = mongo.db('mongodb://localhost:27017/test1')

db.collection('names').find().toArray(
 (err, result) ->
  if err
   throw err
  console.log(result)
  db.close()
)
module.helper.toObjectID(hexStr)
String を ObjectID に変換する。
hexStr = "55aafe9014c3f70a8e8e526c";
console.log(typeof mongo.helper.toObjectID(hexStr))
db.bind(name, options)
db[name] = db.collection(name, options) のエイリアス。
mongo = require('mongoskin')
db = mongo.db('mongodb://localhost:27017/test1')
col = db.bind('names')
col.find().toArray((err, result)->
 if err
  throw err
 console.log(result)
 db.close()
)  
db.admin(...)
new Admin(db, ...) のエイリアス。MongoDB の管理用関数を使えるようにする。
mongo = require('mongoskin')
db = mongo.db('mongodb://localhost:27017/admin')
admin = db.admin()
admin.listDatabases((err, result) ->
 console.log(result)
 db.close()
)
db.grid(...)
new GridStore(db, ...) のエイリアス。Grid は動画など大容量ファイルの保存に使用する。
db.gridStore(...)
new GridStore(db, ...) のエイリアス。db.grid(...) も同様。
collection.bind(extendObject)
extendObject の各メソッドをコレクションにバインドする。
collection.findById(id, ...)
collection.find({_id: toObjectID(id)}, ...) のエイリアス。
mongo = require('mongoskin')
db = mongo.db('mongodb://localhost:27017/test1')
col = db.bind('names')
col.findById("55aafe8114c3f70a8e8e526a", (err, result) ->
 console.log(result)
 db.close()
)
collection.updateById(id, ...)
collection.update({_id: toObjectID(id)}, ...) のエイリアス。
mongo = require('mongoskin')
db = mongo.db('mongodb://localhost:27017/test1')
col = db.bind('names')
col.updateById("55aafe8114c3f70a8e8e526a", {name:"????"},
 (err, result) ->
  console.log(result)
  db.close()
)
collection.removeById(id, ...)
collection.remove({_id: toObjectID(id)}, ...) のエイリアス。
mongo = require('mongoskin')
db = mongo.db('mongodb://localhost:27017/test1')
col = db.bind('names')
col.removeById("55aafe8114c3f70a8e8e526a",
 (err, result) ->
  console.log(result)
  db.close()
) 

insert のサンプル

mongo = require('mongoskin')
db = mongo.db('mongodb://localhost:27017/test1')
col = db.bind('names')
col.insert({name:'Yamada', title:'Working'}, (err, result) ->
  console.log(result)
  db.close()
  console.log("Done.")
) 

 


このページの先頭へ