Mongoose: `select : false`๋Š” ํ•˜์œ„ ์Šคํ‚ค๋งˆ๊ฐ€ ๋‘ ๋ฒˆ ์ด์ƒ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ํ•˜์œ„ ์Šคํ‚ค๋งˆ์˜ ์ผ๋ถ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 08์›” 31์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Automattic/mongoose

๊ธฐ๋Šฅ ์„ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ๋ฒ„๊ทธ๋ฅผ๋ณด๊ณ  ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
๊ณค์ถฉ

ํ˜„์žฌ ํ–‰๋™์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์•„๋ž˜ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ƒ์œ„ ๋ฌธ์„œ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ child ์ด {} ๋กœ ๋Œ์•„ ์˜ค์ง€๋งŒ child2 ์ด ์‚ฌ์‹ค์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  { field: 'test'} ๋กœ ๋Œ์•„ ์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ChildSchema.field ์— select: false ์žˆ์Šต๋‹ˆ๋‹ค.

๋””๋ฒ„๊ฑฐ๋ฅผ ๋ณผ ๋•Œ child.field ์„ ํƒ๋˜๊ณ  child2.field ๋Š” ์„ ํƒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.



const mongoose = require('mongoose');

mongoose.connect('mongodb://127.0.0.1/test');
const db = mongoose.connection;

db.once('open', async () => {
  try {
    const ChildSchema = new mongoose.Schema({
      field: {
        type: String,
        select: false,
      },
      _id: false,
    }, { id: false });

    const ParentSchema = new mongoose.Schema({
      child: ChildSchema,
      child2: ChildSchema,
    });
    const Parent = mongoose.model('Parent', ParentSchema);
    const ogParent = new Parent();
    ogParent.child = { field: 'test' };
    ogParent.child2 = { field: 'test' };
    await ogParent.save();

    const foundParent = await Parent.findById(ogParent._id).exec();
    console.log(foundParent);

    db.close();
  } catch (e) {
    console.log(e);
  }
});


node.js, mongoose ๋ฐ MongoDB ๋ฒ„์ „์„ ์–ธ๊ธ‰ํ•˜์‹ญ์‹œ์˜ค.
4.11.8

confirmed-bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@wlingke , 2014 ๋…„ ์ดํ›„ ๋ชฝ๊ตฌ์Šค์—์„œ ๊ฐ€์žฅ ๋ฏธ๋ฌ˜ํ•œ ๋ฒ„๊ทธ ์ฐพ๊ธฐ : rocket : : 1st_place_medal :

image

๋ชจ๋“  3 ๋Œ“๊ธ€

์ „์ฒด ์žฌํ˜„ ์Šคํฌ๋ฆฝํŠธ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ฒ„๊ทธ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

@wlingke ์—๊ฒŒ 2017 โ„ข ์˜ฌํ•ด์˜ ๋ฒ ์ŠคํŠธ ๋ชฝ๊ตฌ์Šค ๋ฒ„๊ทธ ํŒŒ์ธ๋”๋ฅผ์œ„ํ•œ ๊ฐ€์ƒ์˜ ๋ฐฐ์ง€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๐Ÿœ

@wlingke , 2014 ๋…„ ์ดํ›„ ๋ชฝ๊ตฌ์Šค์—์„œ ๊ฐ€์žฅ ๋ฏธ๋ฌ˜ํ•œ ๋ฒ„๊ทธ ์ฐพ๊ธฐ : rocket : : 1st_place_medal :

image

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰