μ€μ²©λ μ±μ°κΈ° λ° μ΅μ μ μ¬μ©νλ λ²κ·Έκ° μλ€κ³ μκ°ν©λλ€.
λ΄ νμ¬ μΏΌλ¦¬λ λ€μκ³Ό κ°μ΅λλ€.
...
await Post.find(
{ teacher: req.params.id },
{},
{
sort: { createdAt: -1 },
limit: 5,
skip: parseInt(req.query.skip, 10)
}
).populate([
{
path: 'comments',
options: {
limit: 5,
sort: { createdAt: -1 }
},
populate: { path: 'user', select: '-password' }
}
])
...
comments
μ±μ°κΈ°(λ΄λΆμ λ€λ₯Έ μ±μ°κΈ°κ° μ€μ²©λ¨)μ options
λ₯Ό ν¬ν¨νλ©΄ μ§μ λ limit
μ΄μμ λ°ννκ³ sort
λ μ μ©λμ§ μμ΅λλ€. μ€μ²©λ μ±μ°κΈ°κ° μ κ±°λλ©΄ μλν λλ‘ μλν©λλ€.
νμ¬ λ€μμ μ¬μ©νκ³ μμ΅λλ€.
λ
Έλ 10.2.1
λͺ½κ΅¬μ€ 5.1.2
λͺ½κ³ 3.6.5
μ΄κ²μ λ²κ·Έμ λκΉ, μλλ©΄ μ κ° λκ°λ₯Ό λμΉκ³ μμ΅λκΉ?
λλ μ΄κ²μ΄ κ΄λ ¨ λ μ μλ€κ³ μκ°ν©λλ€ : https://github.com/Automattic/mongoose/issues/4321
@Mikeysax κ·νμ μμμ κ°λ₯ν ν μ΄κ²μ 볡μ νκΈ° μν΄μ΄ μμ§ λ₯Ό λ§λ€μμ΅λλ€.
λ°λΌμ 6528μ΄λΌλ ν΄λμ λ‘μ»¬λ‘ λ³΅μ ν μ μμ΅λλ€.
issues: git clone https://gist.github.com/7dee38490d8c637976d8fb0805aafb1e ./6528
Cloning into './6528'...
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), done.
issues: ls !$
ls ./6528
6528.js models6528.js populate6528.js
issues:
6528>: chmod +x populate6528.js
6528>: chmod +x 6528.js
6528>: ./populate6528.js
created 10 users
created 10 teachers
created 100 posts
created 1000 comments
6528>: ./6528.js
{ AssertionError [ERR_ASSERTION]: 10 === 5
at run (/Users/lineus/dev/Help/mongoose5/issues/6528/6528.js:38:10)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
generatedMessage: true,
name: 'AssertionError [ERR_ASSERTION]',
code: 'ERR_ASSERTION',
actual: 10,
expected: 5,
operator: '===' }
^C
6528>:
λλ ν루μ λλΆλΆμ μ¬νν κ²μ΄μ§λ§, μ€λ λ°€μ΄λ λ΄μΌ κ°μ₯ λ¨Όμ κ·Έκ²μ μ‘°μ¬ν μ μμ κ²μ λλ€.
λΆλͺ ν νκΈ° μν΄ λ΄ μμ μ¬νμ μ΅μ κ°μ²΄λ₯Ό 쿼리μ μμλλ‘ μ μ©νμ§λ§ #4321μ λ¬Έμ λ μμ νμ§ μμ΅λλ€ . λλ κ·Έ λ¬Έμ μ λν λͺ κ°μ§ μκ°μ λ³λλ‘μ£Όκ³ λ΄κ° μ΄λ€ μμ΄λμ΄μ κ°μΉ 곡μ λ₯Ό (κ·Έκ²μ νλ€μ΄ λνΈμ)μ΄μλ κ²½μ° PRλ₯Ό μ μΆν©λλ€.
λ€, μ νκ³Ό μΈκ΅¬λ μμ£Ό μ€λ«λμ μ°λ¦¬ νΈμ κ°μμμ΅λλ€. μΌλ°μ μΈ μμ΄λμ΄λ limit
μ ν¨κ» populate()
μ¬μ©νκ³ μ¬λ¬ λ¬Έμλ₯Ό λ€μ κ°μ Έμ€λ κ²½μ° κ° λ¬Έμμ λν΄ λ³λμ 쿼리λ₯Ό μνν΄μΌ νλ€λ κ²μ
λλ€.
κ°μ₯ μ μ©ν λκΈ
@Mikeysax κ·νμ μμμ κ°λ₯ν ν μ΄κ²μ 볡μ νκΈ° μν΄μ΄ μμ§ λ₯Ό λ§λ€μμ΅λλ€.
λ°λΌμ 6528μ΄λΌλ ν΄λμ λ‘μ»¬λ‘ λ³΅μ ν μ μμ΅λλ€.
μ°μΆ:
λλ ν루μ λλΆλΆμ μ¬νν κ²μ΄μ§λ§, μ€λ λ°€μ΄λ λ΄μΌ κ°μ₯ λ¨Όμ κ·Έκ²μ μ‘°μ¬ν μ μμ κ²μ λλ€.