Node.js ÀÇ µîÀåÀ¸·Î ¼¹ö »çÀ̵忡¼ ÇÁ·ÐÆ® ¿£µå±îÁö Javascript·Î ÄÚµùÀ» ÇÒ ¼ö ÀÖ´Â ½Ã´ë°¡ ¿Ô½À´Ï´Ù. MongoDB¶ó´Â Javascript ÇüÅÂÀÇ µ¥ÀÌÅͺ£À̽º¸¦ Æ÷ÇÔÇÏ¿© MEAN ½ºÅÃ(MongoDB + Express + AngularJS + Node.js)À̶ó´Â ¿ë¾î°¡ µîÀåÇϱ⵵ ÇÕ´Ï´Ù. Javascript·Î Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö°¡ Åë½ÅÀ» ÇÏ´Ùº¸´Ï JavascriptÀÇ Object¸¦ ¾ó¸¶³ª Àß ´Ù·ç´À³Ä°¡ ²Ï³ª Áß¿äÇÑ ¹®Á¦°¡ µÇ¾ú½À´Ï´Ù.
Javascript¿¡¼ Objcect¿Í Array µîÀ» ´Ù·ç´Âµ¥ ÃÖ°íºÀÀº ¿ª½Ã UnderscoreÀÔ´Ï´Ù. Node.js ¿¡µµ ¸ðµâ Çüŵµ Á¦°øÇÏ°í Àֱ⠶§¹®¿¡ ¹è¿öµÎ¸é ¿©·¯¸ð·Î Æí¸®ÇÕ´Ï´Ù(ÀÌ°É ¾îµð´Ù ¾²Áö ½ÍÀº ±â´Éµéµµ Àִµ¥ ÇÏ´Ùº¸¸é ½Å±âÇÏ°Ôµµ ¾µµ¥°¡ ÀÖ½À´Ï´Ù¡¦). ÀÏ´Ü Underscore¿¡ °üÇÑ À̾߱â´Â ³ªÁß¿¡ ÇÏ°í ÃÖ±Ù¿¡ ±¸±Û½Å°ú ½ºÅÿÀ¹öÇ÷οì·ÎºÎÅÍ ÀüÇعÞÀº ÀºÇý·Î¿î º¹À½(¡¦)ÀÇ °á°ú¹°À» Á¤¸®ÇØ º¾´Ï´Ù.
1. ObjectÀÇ key¸¦ º¯¼ö·Î ¹Þ±â
1
2
3
4
5
6
7
8
9
10
11
12
13
|
var person = {
name :
"neko"
,
gender :
"male"
};
console.log( person.name, person.gender );
var key1 =
'name'
, key2 =
'gender'
;
console.log( person[key1], person[key2] );
|
2. key, value °ª ¾ò¾î³»±â( = foreach )
¾Ö¼®ÇÏ°Ôµµ Javascript¿¡¼ foreach°¡ ¾ø½À´Ï´Ù.
1
2
3
4
5
|
var object = { ... };
for
(
var key
in object ) {
console.log( key +
'=>' + object[key] );
}
|
3. ¿ä¼ÒÀÇ °¹¼ö ¾Ë¾Æ³»±â
¹è¿ÀÇ °æ¿ì¿¡´Â length·Î ½±°Ô ¾Ë¾Æ³¾ ¼ö ÀÖÁö¸¸ Object¿¡´Â length°¡ ¾ø½À´Ï´Ù.
1
2
3
4
5
6
|
var object = { ... };
var length = Object.keys( object ).length;
console.log( length );
|
4. Çü ±¸ºÐÇϱâ
JSONÀº µ¥ÀÌÅ͸¦ ÁÖ°í¹Þ´Âµ¥ ¸Å¿ì Æí¸®ÇÑ DataÇü½ÄÀÌÁö¸¸ Node.js ¼¹ö¿¡ JSONÀ¸·Î µ¥ÀÌÅ͸¦ ³¯¸®°ÔµÇ¸é value°¡ ÀüºÎ StringÀ¸·Î ³¯¾Æ°¡´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ°Ô ²Ï³ª ³°¨ÇÑ °ÍÀÌ MongoDB¿¡¼´Â $inc¿Í °°ÀÌ value°¡ Number( Int, Float µî )°¡ ¾Æ´Ï¸é ¿¡·¯¸¦ ³¯¸®´Â °æ¿ì°¡ Àֱ⠶§¹®¿¡ ÃÖ¼ÒÇÑ ¼ö¿Í ¹®ÀÚÀÇ ±¸ºÐÀ» ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.
´ÙÀ½Àº JSON µ¥ÀÌÅÍÀÇ value°¡ 0À¸·Î ½ÃÀÛÇÏÁö ¾Ê´Â ¼ýÀڵ鸸ÀÇ Á¶ÇÕÀ¸·Î ÀÌ·ç¾î Á³À»¶§ Á¤¼öÇüÀ¸·Î º¯È¯ÇÑ ÈÄ À̸¦ ¹ÝȯÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù. µÎ¹ø° if¹®ÀÇ ºí·°ÀÇ Á¶°Ç°ú ±¸¹®À» Á¶ÀÛÇϸé Á»´õ Á¤±³ÇÑ ±¸ºÐµµ °¡´ÉÇÕ´Ï´Ù(ÀÏ´Ü ÆíÀÇ»ó Á¤¼ö µ¥ÀÌÅ͸¸ ³¯¾Æ¿Â´Ù°í °¡Á¤Çß½À´Ï´Ù. ÀüȹøÈ£ °°ÀÌ 0À¸·Î ½ÃÀÛÇÏ´Â °æ¿ì À̸¦ Á¤¼ö·Î ¹ÞÀ¸¸é °¡Àå ¾Õ ºÎºÐÀÇ 0ÀÌ »ý·«µÇ±â ¶§¹®¿¡ ¹®ÀÚ·Î Ãë±ÞÇß½À´Ï´Ù)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
var typeCheck =
function
( jsonData ) {
for
(
var key
in jsonData ) {
if
(
typeof jsonData[key] ===
'object' ||
typeof jsonData[key] ===
'array' ) {
jsonData[key] = typeCheck( jsonData[key] );
}
else {
if
( /^(0|[1-9][0-9]*)$/.test( jsonData[key] ) ) {
jsonData[key] = parseInt( jsonData[key] );
}
}
}
return jsonData;
}
|