@@ -1 +1,3 @@
データを保存します。
<strong>対象</strong>: MongoDB

ドキュメントを保存します。コレクションに一致するオブジェクトがあれば更新し、なければ追加します。
@@ -1 +1 @@
保存するオブジェクト
updateコマンドに渡すオブジェクト。
@@ -1,2 +1,4 @@
<strong>対象</strong>: MySQL

挿入するデータが既にテーブルに存在する場合は、新しくレコードを挿入せず、既存のレコードを新しいデータで上書き(置換)します。
また、挿入するデータがテーブルに存在しない場合は、新規レコードを挿入します。
@@ -1 +1,3 @@
レコードを更新します。
<strong>対象</strong>: MySQL, MongoDB

既存のレコード/ドキュメントを更新します。
@@ -1 +1,18 @@
更新するレコードのオブジェクト。
更新するオブジェクト。

<strong>MySQL</strong>:
更新するレコードをキー/値ペアで指定します。
更新の条件は、このオブジェクトの $where キーに設定します。
条件の指定は、where句を入れた文字列、またはキー/値ペアの抽出条件を指定します。


{
'name': 'Ext Server',
'$where': {
id: 1
}
}

<strong>MongoDB</strong>:
MongoDBのupdateコマンドに渡すオブジェクト。
@@ -9,7 +9,10 @@ module.exports = {
],

getAll: function(param, cb) {
this.query('SELECT * FROM users', function(err, rs) {
var me = this;

me.query('SELECT * FROM users', function(err, rs) {
me.end();
if(rs) {
cb({
success: true,
@@ -20,7 +23,10 @@ module.exports = {
},

getRec: function(id, cb) {
this.query('SELECT * FROM users id=' + id, function(err, rs) {
var me = this;

me.query('SELECT * FROM users id=' + id, function(err, rs) {
me.end();
if(rs) {
cb({
success: true,
@@ -38,7 +44,6 @@ module.exports = {
params = [params];
}
l = params.length;
// 非同期で複数レコード挿入するのってどうすんだろ
Ext.iterate(params, function (param) {
me.$addRec(param, function(record) {
records.push(record);
@@ -57,6 +62,7 @@ module.exports = {
email: param.email
};
me.insert(o, function(err) {
me.end();
// idを付加したオブジェクトを返す
me.$lastId(function(ret){
o.id = ret;
@@ -66,7 +72,10 @@ module.exports = {
},

$lastId: function (cb) {
this.query('SELECT LAST_INSERT_ID()', function(err, ret) {
var me = this;

me.query('SELECT LAST_INSERT_ID()', function(err, ret) {
me.end();
cb(ret);
});
},
@@ -91,13 +100,16 @@ module.exports = {
},

$updateRec: function(param, cb) {
var o = {
var o, me = this;

o = {
'name': param.name,
'email': param.email,
'$where': {id: param.id}
};

this.update(o, function(err) {
me.update(o, function(err) {
me.end();
cb(param);
});
},
@@ -121,9 +133,11 @@ module.exports = {
},

$removeRec: function(id, cb) {
var o = {id: id};
var me = this,
o = {id: id};

this.remove(o, function(err) {
me.remove(o, function(err) {
me.end();
cb(id);
});
}
@@ -2,6 +2,7 @@ module.exports = {
useTable: 'users',
func: function(done) {
this.find({}, function(err, fields) {
this.end();
done(fields);
});
}
@@ -0,0 +1,30 @@
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/*!
* Ext Server
* Copyright (c)2012 Xenophy.CO.,LTD All rights Reserved.
* MIT Licensed
*/

// {{{ requires

require('../../../index.js');

// }}}
// {{{ describe

describe('Ext.database.MySQL', function() {


});

// }}}

/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* c-hanging-comment-ender-p: nil
* End:
*/