0
Model.findOne() 메서드를 사용할 때 findById 메서드를 사용하여 반환 값을 제한하는 문자열을 포함하도록 선택할 수 있지만 제대로 작동하지 않는 것처럼 보입니다.findById를 사용하여 지정된 필드 반환 | Mongoose MongoDB
아래 예제는 고안된 예제입니다. 실제 _id를 사용하고 있는데 첫 번째 예제를 사용할 때 작동하지만, findById 메서드를 사용하고 싶습니다. 내 마음 속의 작은 목소리가 빠른 (어쩌면) 말하기 때문입니다.
예 :
let Joe = new PersonModel({
_id: ObjectId("12345")
name: 'Joe',
age: 30,
password: 'GreatPW'
}).save();
지금 조를 찾아, 오직 자신의 이름과 나이를 반환합니다. 이 작품!
PersonModel.findOne({_id: Joe._id}, 'name age')
.then(person => console.log(person))
이제 findById()를 사용하여 동일한 작업을 수행합니다. 이것은 나를 위해 작동하지 않습니다.
PersonModel.findById(Joe._id, 'name age')
.then(person => console.log(person))
findById 메소드는 findOne를 호출, 그래서 더 빨리 할 수 없습니다. 출처는 [여기] (http://mongoosejs.com/docs/api.html#model_Model.findById)입니다. findById도 투영해야합니다. – MikaS
당신은 틀리지 만 지금은 작동 중입니다. 어제 밤에 그 코드에 영향을 미친 뭔가가 있었을 것입니다. 이것을 답변으로 추가하면 나는 당신에게 정답을 표시 할 것입니다. – TJBlackman
잘 듣는 것이 좋습니다. 재현 할 수없는 문제는 실제로 대답되어지지 않아서 제 의견이 충분하다고 생각합니다. 어쨌든 고마워. – MikaS