使用猫鼬模型添加查询条件
add query conditions using mongoose model
Using Node.js, Mongoose Schema 和 MongoDB,
用户模型架构为
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
name: { type: String, trim: true }
, address: { type: String }
, birth: { type: Date }
, tlf: { type: String }
, email: { type: String, lowercase: true }
});
module.exports = mongoose.model('User', userSchema);
查询用户条件(var cond)、选择(var sel)、选项(var opts)的功能是
findAllUsers = function (req, res, next) {
var cond = {
name : req.query.nm
};
var sel = 'name address';
var opts = {
skip: req.query.sk, limit: req.query.lim, sort: req.query.srt
};
User.find(cond, sel, opts).lean().exec(function (err, users) {
if (err) next(err);
var body = {};
body.skip = req.query.sk;
body.limit = req.query.lim;
body.users= users;
User.count(cond).exec(function (err, total) {
if (err) next(err);
body.total = total;
res.json(body);
});
});
}
然后,使用正则表达式创建条件的最佳方法是什么,例如,或者... ?
MongoDB中与"like"等效的是regex
运算符,将像这样实现:
db.collection.find({ "address": { "$regex": "via" } });
但请记住,与等效的 like "%via%"
语句相同,这确实需要扫描集合中的每个文档(或充其量是索引),以便匹配未"锚定"到字符串开头的字符串。
相关文章:
- 将数据库中的超链接添加到查询结果
- 我想将查询字符串变量添加到JSON名称/值对中
- 新手查询动态添加属性
- 用于添加边缘的gremlin服务器查询
- 添加行并运行多个mySQL查询
- iron路由器将参数添加到字符串中,并添加一个查询
- j查询检查复选框是否被选中,然后向输入字段添加值
- 将查询字符串添加到当前URL中嵌入的查询的锚链接
- 在聚合附近,添加基本查询选项
- jQuery脚本,它搜索现有的查询参数并且不添加“"如果存在
- jasmine:在url中添加和读取查询字符串
- 向Titanium添加查询
- 循环遍历数组,并在javascript中向sql查询添加参数
- 如何在Node.js中向Post请求添加查询
- 动态添加数据时按数据属性查询JQuery选择器
- 向URL重定向添加查询字符串
- 使用pushstate添加查询字符串
- 向data-href中添加查询字符串
- 如何在JavaScript中添加查询字符串
- 使用猫鼬模型添加查询条件