2012-03-13 79 views
0

我正在使用MongoDB和PHP來存儲用戶通過基本表單添加的歌曲。我創建的集合如下所示。檢查集合中是否存在文檔,如果不添加新文檔

$object = array(
    "trackName" => "Sju sorger", 
    "artistName" => "Veronica Maggio", 
    "albumName" => "Satan i Gatan", 
    ); 
$collection->save($object); 

我想完成的是檢查歌曲是否已經在收藏中。如果試圖添加的歌曲用戶尚未存在於收藏中,則會被添加。如果它已經在收藏中,則會顯示一條通知,指出該歌曲已經在收藏中。

我對MongoDB比較陌生,但我想我可以通過檢查文檔的_id來檢查歌曲是否已經在收藏中。但我不知道如何做到這一點。

任何幫助將不勝感激。

回答

6

使用此方法。

<?php 
    try { 
     // open connection to MongoDB server 
     $conn = new Mongo('localhost'); 

     // access database 
     $db = $conn->test; 

     // access collection 
     $collection = $db->items; 

     // GET TRACK NAME 
     $trackname = 'placetracknamehereifsearchingbytrackname'; 
     // retrieve existing document 
     $criteria = array(
     'trackName' => trackname , 
    ); 
     $doc = $collection->findOne($criteria); 

     if(!empty($doc) { 
     echo 'Data Already Exist'; 
     } else { 
    // insert a new document 
    $object = array(
    "trackName" => "Sju sorger", 
    "artistName" => "Veronica Maggio", 
    "albumName" => "Satan i Gatan", 
    ); 
    $collection->save($object); 
    echo 'Added Successfully!'; 
} 
     // disconnect from server 
     $conn->close(); 
    } catch (MongoConnectionException $e) { 
     die('Error connecting to MongoDB server'); 
    } catch (MongoException $e) { 
     die('Error: ' . $e->getMessage()); 
    } 
    ?> 

使用此資源作進一步處理。

Mongo Resource

+0

謝謝。這正是我所期待的。非常感謝您的幫助。 – Metin 2012-03-13 22:23:42

相關問題