나는 MongoDB를 가지고있는 필드의 이름을 변경하고 난 다음 스키마 갖고 싶어 :어떻게 함수 인수 MongoDB를
directory: {
"file1": "id",
"directory1":{
"file1": "..."
"file2": "..."
"file3": "..."
"direcrtory1": {}
}
}
내 질문은 : 내가 함수의 필드 이름을 선택 할 수있는 방법을 $ 다음 함수에 대한 인수로 푸시?
function createFile(projectId,filename,id){
return Project.updateOne({projectId:projectId},{$push:{directory:{filename: id}}});
}
위의 코드는 데이터베이스에이를 만듭니다
"directory": [
{
"id": "someID",
"filename": "something"
}
지금, 나는 '파일 이름이'그런 식으로 지명 될 싶지 않아요. 함수를 통해 전달 된 값으로 이름을 지정하고 싶습니다.
예 : 함수에서 다음 매개 변수 (someID, 'something', anotherId )를 얻으면 'filename'이됩니다. anotherId '이고, 출력하고 싶습니다 :'something ':'anotherId '. 어떻게해야합니까?
어떤 도움을 주시면 감사하겠습니다
솔루션 :
var update = {$set:{}};
update.$set[filename] = id;
Project.updateOne({projectId: projectId},update,{upsert: true});
업데이트 샘플에서 몽구스도 사용하고있는 것 같습니다. 맞습니까? – Paul
네, 맞습니다. –