Mongoose创建多个索引并个性化quety以使用特定索引进行调用

时间:2015-12-15 03:25:03

标签: node.js mongodb express mongoose mongoose-schema

我想在我的模型上做很多索引,当我在查询时使用该查询中的特定索引

这是我的模特

function __construct()
{
    parent::__construct();
}

public function validate_login()
{
    //$this->form_validation->set_rules('username', 'Username', 'trim|required');
    //$this->form_validation->set_rules('password', 'Password', 'trim|required');
    $username = $this->security->xss_clean($this->input->post('username'));
    $password = $this->security->xss_clean(md5($this->input->post('password')));

    $this->db->where('username', $username);
    $this->db->where('password', $password);

    $query = $this->db->get('accounts');

    if($query->num_rows()==1)
    {
        foreach($query->result() as $row)
        {
            $sess_data = array(
            'username'=>$this->input->post('username'),
            'is_logged_in'=>TRUE,
            'privilege'=>$row->privilege
            );
        }

        $this->session->set_userdata($sess_data);
        return true;
    }
    else
    {
    //  echo $password;
    }
}

}

?>

我想要这些索引:

  • 逐字索引(是一个字符串)
  • 按位置索引(是geoindex)
  • 按字和位置索引

现在,当我在进行查询时,我想指定要使用的索引

1 个答案:

答案 0 :(得分:2)

module.exports行之前:

ThingSchema.index({word: 1});
// all other indexes you want to add...

当需要进行查询时,请使用hint()指定要使用的索引:

Thing.find({...}).hint({word: 1});