2014-04-13 1 views
0

나는 문제가있어 혼자서는 이해할 수 없기 때문에 나는 정말로 도움이 필요하기 때문에 여기에있다. D동일한 이름의 MongoDB 및 PHP 필드를 추가 할 수 있습니까?

나는 id와 같은 이름의 필드를 추가 할 수 있는지 알아야한다. 및 id하지만 diferente 값을 가진

$ usedWord = array ('word'=> $ word);

// search for the word based on the array 
$found = $collection->findOne($usedWord); 

// If it returns 
if (empty($found)) { // Here, it'll insert 

    $info = array('word'=> $word, 
        'id' => $id, 
        'path' => $path, 
        'start' => $startOfTheWord, 
        'end' => $endOfTheWord); 
} else { 

} 

$collection->insert($info); 

//disc from servidor 
$conn->close(); 

는 그렇지 않은 부분에, 나는 질문은, 내가 등등, '패치'다른 'ID'를 만들 수있는 등 새로운 'ID', 경로를 추가하는 코드를 시도 아니면 내가 만들어야합니다 'id1', path1 등등?

OB :. 나는 $ 푸시를 사용하고 작동 할 수없는 = \

+0

당신이 무엇을 요구하고 있는지 명확하지 않습니다. 기존 문서의 값을 변경하거나 배열의 값을 사용하여 새 문서를 추가하려고합니까? – dethtron5000

+0

푸시 사용 방법을 보여줄 수 있습니까? 그것은 작동한다 – Sammaye

+0

나는 들판 단어가있다, 그렇지? 나는 만약에 낱말이 이미 존재하면 다만 ID, 경로, 시작 및 끝을 추가 할 필요가있는 경우에, 나는 그렇지 않으면, 나는 자료를 저장할 것이라는 점을 나는 모양에 의해 보낸 낱말이 존재하는지보기 위하여 if를 사용했다 . 나는 id가 다르다. 몽고가 저장 한 첫 번째 id와 다른 id를 가진 다른 id를 만들고 싶다. 12는 문고이고, 새로운 것은 22가 될 것이다. 그래서 첫 번째 id가 있어야한다 : "12"와 두 번째 id : 22 – Reno

답변

0

나는 당신의 질문이 있어요,하지만 당신은 여기에 중복 필드에 대한 sking하는 경우 몽고 문서의 말씀 확실하지 :

BSON 문서를보다 더있을 수 있습니다 같은 이름의 한 필드. 그러나 대부분 MongoDB interfaces은 중복 된 필드 이름을 지원하지 않는 구조 (예 : 해시 테이블)로 MongoDB를 나타냅니다. 동일한 이름을 가진 필드가 두 개 이상있는 문서를 조작하려면 이 필요하면 documentation for your driver 드라이버를 참조하십시오.

어쨌든 문서 구조 디자인에 문제가있는 것으로 보이는 문서의 중복 필드를 피해야한다고 생각합니다.

+0

그럼 내가 사용하는 경우에도 동일한 종류의 데이터를 저장하더라도 가치가 없습니다. 그렇습니까? 나는 어떻게해야합니까? x.x 어떤 충고? 나는 중복 필드를 사용해야합니다. \ – Reno

+0

필자는 중복 된 필드를 반드시 사용해야한다고 생각하지 않습니다. 문서 구조를 재 설계하고 기본 배열에서 임베드 된 배열이나 새 컬렉션을 사용하는 방법이 항상 있습니다. 지금은 또 다른 문제에 봉착 –

+0

, 나는이 있습니다 db.comida.insert을 ( \t {_id : 1, \t \t "pratos"[ \t \t {comida "Lasanha", PRECO : 20.00} , \t \t {comida : "Panqueca", preco : 15.00} \t \t] \t} ) 그리고 내가 PRECO 업데이트하기 위해 노력하고있어 : 20.00 하지만 난 그것을 업데이트 할 볼 수없는,이 코드 db.comida.update ( 를 사용하고 있습니다 \t {_id : 4, "pratos.comida": "Lasanha"}, {$ set : { "prato. $ preco": 12.99}} ) – Reno

관련 문제