Docs Menu

$log (์ง‘๊ณ„)

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ

$log

์ง€์ •๋œ ๋ฐ‘์ˆ˜๋กœ ์ˆซ์ž์˜ ๋กœ๊ทธ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ double๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

$log์˜ ๊ตฌ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

{ $log: [ <number>, <base> ] }

<number> ํ‘œํ˜„์‹์€ ์Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ์ˆซ์ž๋กœ ํ•ด์„๋˜๋Š” ํ•œ ๋ชจ๋“  ์œ ํšจํ•œ ํ‘œํ˜„์‹ ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<base> ํ‘œํ˜„์‹์€ 1 ๋ณด๋‹ค ํฐ ์–‘์ˆ˜๋กœ ํ•ด์„๋˜๋Š” ํ•œ ๋ชจ๋“  ์œ ํšจํ•œ ํ‘œํ˜„์‹ ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘œํ˜„์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ‘œํ˜„์‹ ์—ฐ์‚ฐ์ž๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ธฐ๋ณธ ๋ฐ˜ํ™˜ ์œ ํ˜•์€ double์ž…๋‹ˆ๋‹ค. ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ํ•˜๋‚˜๋ผ๋„ decimal์ด๋ฉด ๋ฐ˜ํ™˜ ์œ ํ˜•์€ 10์ง„์ˆ˜์ž…๋‹ˆ๋‹ค.

๋‘ ์ธ์ˆ˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ null ๊ฐ’์œผ๋กœ ํ•ด์„๋˜๊ฑฐ๋‚˜ ๋ˆ„๋ฝ๋œ ํ•„๋“œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฒฝ์šฐ $log๋Š” null์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ์ธ์ˆ˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ NaN ๊ฐ’์œผ๋กœ ํ•ด์„๋˜๋ฉด $log๋Š” NaN์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ
๊ฒฐ๊ณผ

{ $log: [ 100, 10 ] }

2

{ $log: [ 100, Math.E ] } ์—ฌ๊ธฐ์„œ Math.E๋Š” e์— ๋Œ€ํ•œ JavaScript ํ‘œํ˜„์ž…๋‹ˆ๋‹ค.

4.605170185988092

integers ์ปฌ๋ ‰์…˜์— ํฌํ•จ๋œ ๋ฌธ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

db.integers.insertMany( [
{ _id: 1, int: 5 },
{ _id: 2, int: 2 },
{ _id: 3, int: 23 },
{ _id: 4, int: 10 }
] )

๋‹ค์Œ ์˜ˆ์—์„œ๋Š” ๊ณ„์‚ฐ์— ๋กœ๊ทธ 2 ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ int ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ํ•„์š”ํ•œ ๋น„ํŠธ ์ˆ˜๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

db.integers.aggregate([
{ $project: { bitsNeeded:
{
$floor: { $add: [ 1, { $log: [ "$int", 2 ] } ] } } }
}
])

์ด ์—ฐ์‚ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

{ "_id" : 1, "bitsNeeded" : 3 }
{ "_id" : 2, "bitsNeeded" : 2 }
{ "_id" : 3, "bitsNeeded" : 5 }
{ "_id" : 4, "bitsNeeded" : 4 }

๋‹ค์Œ๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ