dst3605528 2015-08-02 11:56 采纳率: 0%
浏览 33

函数commentdelete()在php上

i want to make function for delete comments on my database. My database is Mongodb. So when i delete an account i want the comment of user also removes.

So for example I want to delete the account of Mark, I want these comments are also deleted.

This my database:

  { "_id" : ObjectId("55bd4ead0faaf25f05b7acd9"), "title" : "test", "content" : "test", "user" : "Mark", "saved_at" : ISODate("2015-08-01T22:56:45.465Z"), "comments" : [ { "comment" : "hello how are u ?", "user" : "Marc" }, { "comment" : "i'm fine and you", "user" : "Paul" } ] }

i have make this function commentdelete(), but the function does not work, the comments do not delete.

function commentdelete() {
    try{
        $connection = new MongoClient();
        $database = $connection->selectDB('blog');
    }Catch(MongoException $e){
        die("Failed to connect to database " . $e->getMessage());
    }

    $collection = $database->articles;
    $query=array();

    $cursor=$collection->find($query);

    $collection->update(
        [],
        ['$pull' => ['comments' => ['comment' => $_SESSION["user"]]]],
        ['multiple' => true]
    );
}

Thanks with the help

  • 写回答

1条回答 默认 最新

  • dqd3690 2015-08-02 12:05
    关注

    It looks like you are referencing the wrong field in your $pull. Should be "user":

    $collection->update(
        [],
        ['$pull' => ['comments' => ['user' => $_SESSION["user"]]]],
        ['multiple' => true]
    );
    

    You have "comment", which would not seem to match the "session user" variable you are using.

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作