连接字段,然后在php / mongodb中

时间:2017-05-05 05:19:06

标签: php mongodb php-mongodb

我在mongo db collection studentTbl中有三个字段:

  • first_name

  • middle_name

  • 姓氏

我在php应用程序中使用mongo db创建搜索模块,并尝试了以下代码行

            $query = array('$or' => array(                                      
                                    array("registration_temp_perm_no" => new MongoRegex("/$arg/i")),
                                    array("roll_no" => new MongoRegex("/$arg/i")),
                                    array(
                                          array(
                                               '$project' => array(
                                               'fullname' => array('$concat' => array('$first_name', ' ', '$last_name')),
                                               )
                                          ),
                                          array(
                                               '$match' => array(
                                               'fullname' => array('$regex' => $arg, '$options' => 'i'),
                                                )
                                            )
                                    ),
                                    array(
                                          array(
                                               '$project' => array(
                                               'fullname' => array('$concat' => array('$first_name', ' ', '$middle_name')),
                                               )
                                          ),
                                          array(
                                               '$match' => array(
                                               'fullname' => array('$regex' => $arg, '$options' => 'i'),
                                                )
                                            )
                                    ),
                                    array("first_name" => new MongoRegex("/$arg/i")),
                                    array("middle_name" => new MongoRegex("/$arg/i")),
                                    array("last_name" => new MongoRegex("/$arg/i")),
                                    array("email" => new MongoRegex("/$arg/i")),
                                    array("guardian_name" => new MongoRegex("/$arg/i")),
                                    array("phone1" => new MongoRegex("/$arg/i")),
                                    array("dob" => new MongoRegex("/$arg/i")),
                                )
                  );

如果studentTbl中有一个文档,其中包含以下详细信息

  • first_name:" Pooja"

  • middle_name:" Mahavir"

  • last_name:" Sharma"

现在,如果我们给" Pooja"在$ args中,它应该取名所有名为" pooja"的学生,如果我们给" sharma"在$ args中,它应该取名为sharma的所有学生。如果$ args包含" poo",它应该获取所有名字包含" poo"无论是在结尾,开始还是在中间,如poonam"或" tapoo"等等,如果给出全名,那么它应该相应地获取,如果$ args包含" pooja sharma",它也应该根据名字和姓氏获取。 上面的代码是获取所有记录。另请注意,应保留其他搜索条件。

任何帮助都应该受到赞赏。

0 个答案:

没有答案