2016-06-27 3 views
0

내 JSON 데이터 봄 & MongoDB를 함께 특정 이름에

[{"cameraid":"000000001","timestamp":"2016-06-17 23:08","filename":"7e3800fbd0557c683874ed2f41ed7057"}, 

{"cameraid":"000000002","timestamp":"2016-06-17 23:08","filename":"b260cc730da88a6af4e5038d6e1e32db"}] 

어떻게 특정 이름에 연결 cameraid을 가질 수를 데이터를 설정?

예를 들어 내 cameraid "000000001"bedok으로 전화해야합니다.

아무도 그것을하는 방법에 대한 아이디어가 있습니까?

+0

당신이 이름의 유한 집합이 있습니까 또는 모든 고유 ID 고유 한 이름을 부여해야 하는가? 또한,이 독특한 이름은 어디서 오는 것입니까? 위의 글에서 여러분이 어떻게 침상을 결정했는지는 분명하지 않습니까? – notionquest

+0

@notionquest 침구의 이름은 단지 예일뿐입니다. –

+0

@notionquest하지만 당신은 내가 뭘하고 있는지에 대한 아이디어를 얻었습니까? 나는 이것으로 붙 들었다. –

답변

1

, 특정 cameraid에 대한 name 필드를 추가 할 가정

시도 다음 쿼리 : -

db.collname.update({"cameraid":"000000001"},{$set : {name : 'bedok'}}); 

편집 : -

는 위의 쿼리는 하나 개의 레코드를 업데이트 할 {"cameraid":"000000001"}과 일치합니다.

multi:true을 여러 레코드에 추가하십시오.

db.collname.update({"cameraid":"000000001"},{$set : {name : 'bedok'}},{multi : true}); 

이제 {"cameraid":"000000001"}과 일치하는 모든 레코드가 업데이트됩니다.

+0

나는이 코드를 시도했는데 같은 카메라 ID를 가진 카메라 ID가 "000000001"인 카메라 ID를 하나만 업데이트하는 이유는 무엇입니까? –

+0

여러 레코드가있는 경우 다중 레코드를 수행해야합니다. 내가 제공 한 쿼리는 표시된 DB 구조를 기반으로합니다. 답변을 업데이트합니다. – Shrabanee

+0

답변이 업데이트되었습니다. 너는 지금 시험해 볼 수있다. – Shrabanee

1

이름이 다른 컬렉션을 만들고 (db_name이라고 함) dbid 컬렉션의 _id에 cameraid를 연결합니다. 이렇게하면 cameraid를 사용하여 이름을 가져올 수 있습니다. 이것은 관계형 데이터베이스 (RDBMS)의 기본 키 및 외래 키 개념과 더 유사합니다. 여기에 코드이에

: Primary Key and Foreign Key Concept in MongoDB

+0

현재 컬렉션에 하나 이상의 데이터를 추가 할 수 있습니까? 그리고 "000000001"을 데이터베이스에 저장하려고 할 때마다 데이터베이스에 bedok01을 저장합니다. "000000002"와 같은 다른 데이터를 데이터베이스에 저장하면 bedok02가 저장됩니다. 이해하니? –

관련 문제