1. 程式人生 > >mongodb模糊查詢

mongodb模糊查詢

creat var 匹配 mongo express port function cti ror

cmd 寫法

db + 表名 + find({屬性名:{$regex:{/查詢的內容/}}})

例:

db.admins.find(user:{$regex:{/hehe/}})

假設顯示:如有多條關於hehe的user內容,則返回多條內容。

express 寫法

關聯的數據庫 + find({屬性名:{$regex:查詢內容},function(err,datas){

    if(err){

    }else{

      res.send(‘datas‘)

    }

  }

})

例:

// 鏈接 firstblood 集合
var mongoose = require(‘mongoose‘);
var db = mongoose.createConnection(‘mongodb://localhost:27017/firstblood‘);
// 鏈接錯誤
db.on(‘error‘, function(error) {
  console.log(error);
});
// Schema 結構
var Schema = mongoose.Schema;
  var userlistScheMa = new Schema({
  user : String,
  password : String,
  age : Number,
  name : String,
  phone : String,
  address : String,
  numbers : String,
});

// 關聯 userlist -> admins 表 表數據有問題,一切都白搭!
exports.userlist = db.model(‘admins‘, userlistScheMa,‘admins‘);
exports.db = db;
console.log(‘數據庫啟動成功!!!!‘)

註意:這裏的關聯數據庫為 userlist,下面如果寫為{$regex:{/req.query.user/}},那麽返回值任然是完全匹配才輸出,不知道是為什麽,如有知曉的大神請指出。

userlist.find(user:{$regex:{req.query.user}},function(err,datas){

    if(err){

      res.send(‘1‘)

    }else{

      res.send(datas)//這裏的datas即為模糊查詢的結果,前端接受處理即可

    }

  }

})

mongodb模糊查詢