2016-10-27 6 views
0

업데이트를 수행 할 때 데이터베이스의 각 필드 버전을 유지해야하는 애플리케이션을 만들고 있습니다. 그래서 나는 그것을 성취하기 위해 이렇게 성명서를 쓸 것이라고 생각했습니다.

collection.update({ _id: id }, 
      { 
       $push: { placeholder : { $each: [{ data: keyValue, timeStamp: date, editor: editorID}] } } 
      }, 

자리 표시자는 필드에서 내가 업데이트 할 필드에 따라 다를 수 있습니다.

var key = req.body.key; 
var keyValue = req.body.keyValue; 
var editorID = req.body.editor; 
var date = new Date(); 

위의 변수는 제출 된 형태와 에 따라 초기화하는 것은 내가 대신 자리의 사용하고자 제출 한 데이터베이스의 이름입니다.

폼에서 전달 된 데이터베이스 필드 이름을 나타내는 자리 표시자를 어떻게 만들 수 있습니까?

답변

0

해결책을 찾았습니다.

var query = {}; 
query[key] = { data: keyValue, timeStamp: date, editor: editorID }; 

다음

collection.update({ _id: id }, 
      { 
       $push:query    
      } 
      },