2012-03-13 55 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

相关问题