上篇博文我们简单介绍了mongoose,并熟悉了mongoose的使用流程以及相关的一些概念性的东西,那么这篇博文我们接着介绍使用Mongoose进行增删修查的操作。
- userMode.create({
- name: userInfo.name,
- password: userInfo.password,
- age: userInfo.age
- }, function (error, doc) {
- if (error) {
- console.error(error);
- } else {
- console.error(doc);
- }
userMode.create({
name: userInfo.name,
password: userInfo.password,
age: userInfo.age
}, function (error, doc) {
if (error) {
console.error(error);
} else {
console.error(doc);
}
我们打开控制台看一下日志信息:
- { __v: 0,
- name: ‘tiny’,
- password: ‘123456’,
- age: 21,
- _id: 587d79e1a51c535f09b8cc40 }
{ __v: 0,
name: 'tiny',
password: '123456',
age: 21,
_id: 587d79e1a51c535f09b8cc40 }
接下来我们再通过RoboMongo看一下是否已经真的写入到了数据库:
OK,这条数据已经被写入到数据库中。接下来再来看一下Mongoose的删除操作。
- //删除用户名为“tiny”的文档记录
- var conditions = {name: ‘tiny’};
- userMode.remove(conditions, function (error) {
- if (error) {
- console.error(error);
- } else {
- console.error(“用户删除成功”)
- }
- });
- //查询用户名为“tiny”的文档记录是否还存在
- userMode.findOne({name: “tiny”}, function (error, doc) {
- if (error) {
- console.error(error)
- } else {
- console.error(“删除后数据:”, doc)
- }
- });
//删除用户名为“tiny”的文档记录
var conditions = {name: 'tiny'};
userMode.remove(conditions, function (error) {
if (error) {
console.error(error);
} else {
console.error("用户删除成功")
}
});
//查询用户名为“tiny”的文档记录是否还存在
userMode.findOne({name: "tiny"}, function (error, doc) {
if (error) {
console.error(error)
} else {
console.error("删除后数据:", doc)
}
});
日志信息:
- 用户删除成功
- 删除后数据: null
用户删除成功
删除后数据: null
更新数据
- //更新用户名
- var conditions = {name: request.body.name};
- var updates = {$set: {name: “tiny”}};//将用户名更新为“tiny”
- userMode.update(conditions, updates, function (error) {
- if (error) {
- console.error(error);
- } else {
- console.error(“更新用户名成功”)
- }
- });
- //查询更新后的数据
- userMode.findOne({name: “tinyjoy”}, function (error, doc) {
- if (error) {
- console.error(error)
- } else {
- console.error(“更新后数据:”, doc)
- }
- });
//更新用户名
var conditions = {name: request.body.name};
var updates = {$set: {name: "tiny"}};//将用户名更新为“tiny”
userMode.update(conditions, updates, function (error) {
if (error) {
console.error(error);
} else {
console.error("更新用户名成功")
}
});
//查询更新后的数据
userMode.findOne({name: "tinyjoy"}, function (error, doc) {
if (error) {
console.error(error)
} else {
console.error("更新后数据:", doc)
}
});
日志信息如下:
- 请求体信息:
- { name: ‘tinyjoy’, password: ‘123456’ }
- 更新用户名成功
- 更新后数据: { _id: 587d7b4aa51c535f09b8cc41,
- name: ‘tiny’,
- password: ‘1234567’,
- age: 14,
- __v: 0 }
请求体信息:
{ name: 'tinyjoy', password: '123456' }
更新用户名成功
更新后数据: { _id: 587d7b4aa51c535f09b8cc41,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 }
查询数据
基本查询 :find
- //查询所有密码为“123456”的文档记录
- userMode.find({“password”: userInfo.password},function (error,docs) {
- if (error){
- console.error(error);
- }else{
- console.error(“密码为123456的个数:”,docs.length)
- console.error(“所有文档如下:\n”,docs)
- }
- });
//查询所有密码为“123456”的文档记录
userMode.find({"password": userInfo.password},function (error,docs) {
if (error){
console.error(error);
}else{
console.error("密码为123456的个数:",docs.length)
console.error("所有文档如下:\n",docs)
}
});
日志信息:
- 密码为1234567的个数: 4
- 所有文档如下:
- [ { _id: 587d7b4aa51c535f09b8cc41,
- name: ‘tiny’,
- password: ‘1234567’,
- age: 14,
- __v: 0 },
- { _id: 587d7b56a51c535f09b8cc42,
- name: ‘tinyjoy1’,
- password: ‘1234567’,
- age: 18,
- __v: 0 },
- { _id: 587d7b71a51c535f09b8cc44,
- name: ‘tinyjoy3’,
- password: ‘1234567’,
- age: 60,
- __v: 0 },
- { _id: 587d7e2463260b78550e8366,
- name: ‘tinyjoy2’,
- password: ‘1234567’,
- age: 60,
- __v: 0 } ]
密码为1234567的个数: 4
所有文档如下:
[ { _id: 587d7b4aa51c535f09b8cc41,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 },
{ _id: 587d7b56a51c535f09b8cc42,
name: 'tinyjoy1',
password: '1234567',
age: 18,
__v: 0 },
{ _id: 587d7b71a51c535f09b8cc44,
name: 'tinyjoy3',
password: '1234567',
age: 60,
__v: 0 },
{ _id: 587d7e2463260b78550e8366,
name: 'tinyjoy2',
password: '1234567',
age: 60,
__v: 0 } ]
- //查询密码为“1234567”的所有记录,返回文档记录只包含一个键值name
- userMode.find({“password”: userInfo.password},{name:”tinyjoy”},function (error,docs) {
- if (error){
- console.error(error);
- }else{
- console.error(“查询结果:”,docs)
- }
- });
//查询密码为“1234567”的所有记录,返回文档记录只包含一个键值name
userMode.find({"password": userInfo.password},{name:"tinyjoy"},function (error,docs) {
if (error){
console.error(error);
}else{
console.error("查询结果:",docs)
}
});
日志信息:
- 查询结果: [ { _id: 587d7b4aa51c535f09b8cc41, name: ‘tiny’ },
- { _id: 587d7b56a51c535f09b8cc42, name: ‘tinyjoy1’ },
- { _id: 587d7b71a51c535f09b8cc44, name: ‘tinyjoy3’ },
- { _id: 587d7e2463260b78550e8366, name: ‘tinyjoy2’ } ]
查询结果: [ { _id: 587d7b4aa51c535f09b8cc41, name: 'tiny' },
{ _id: 587d7b56a51c535f09b8cc42, name: 'tinyjoy1' },
{ _id: 587d7b71a51c535f09b8cc44, name: 'tinyjoy3' },
{ _id: 587d7e2463260b78550e8366, name: 'tinyjoy2' } ]
- //查询密码为“1234567”的一条记录
- userMode.findOne({“password”: userInfo.password},function (error,doc) {
- if (error){
- console.error(error);
- }else{
- console.error(“查询结果:”,doc)
- }
- });
//查询密码为“1234567”的一条记录
userMode.findOne({"password": userInfo.password},function (error,doc) {
if (error){
console.error(error);
}else{
console.error("查询结果:",doc)
}
});
日志信息:
- 查询结果: { _id: 587d7b4aa51c535f09b8cc41,
- name: ‘tiny’,
- password: ‘1234567’,
- age: 14,
- __v: 0 }
查询结果: { _id: 587d7b4aa51c535f09b8cc41,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 }
- //查询主键为”587d7b4aa51c535f09b8cc41“的一条记录
- userMode.findById(‘587d7b4aa51c535f09b8cc41’,function (error,doc) {
- if (error){
- console.error(error);
- }else{
- console.error(“查询结果:”,doc)
- }
- });
//查询主键为”587d7b4aa51c535f09b8cc41“的一条记录
userMode.findById('587d7b4aa51c535f09b8cc41',function (error,doc) {
if (error){
console.error(error);
}else{
console.error("查询结果:",doc)
}
});
日志信息如下:
- 查询结果: { _id: 587d7b4aa51c535f09b8cc41,
- name: ‘tiny’,
- password: ‘1234567’,
- age: 14,
- __v: 0 }
查询结果: { _id: 587d7b4aa51c535f09b8cc41,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 }
OK,简单的find查询基本上就这么多了,但是有时候我们可能需要跟家高级的细致的查询。接下来我们一起学习一下条件查询吧。
条件查询:
- //查询年龄小于18的所有记录
- userMode.find({“age”: {“lt": 18}}, function (error, doc) { </span></li><li class="alt"><span> if (error) { </span></li><li class=""><span> console.error(error); </span></li><li class="alt"><span> } else { </span></li><li class=""><span> console.error("查询结果:", doc) </span></li><li class="alt"><span> } </span></li><li class=""><span>}); </span></li><li class="alt"><span>//查询年龄小于等于18的所有记录 </span></li><li class=""><span>userMode.find({"age": {"
- if (error) {
- console.error(error);
- } else {
- console.error("查询结果:", doc)
- }
- });
- //查询年龄小于等于18的所有记录
- userMode.find({"age": {"lte": 18}}, function (error, doc) { </span></li><li class="alt"><span> if (error) { </span></li><li class=""><span> console.error(error); </span></li><li class="alt"><span> } else { </span></li><li class=""><span> console.error("查询结果:", doc) </span></li><li class="alt"><span> } </span></li><li class=""><span>}); </span></li><li class="alt"><span>//查询年龄不等于18的所有文档记录 </span></li><li class=""><span>userMode.find({"age": {"ne": 18}}, function (error, doc) { </span></li><li class="alt"><span> if (error) { </span></li><li class=""><span> console.error(error); </span></li><li class="alt"><span> } else { </span></li><li class=""><span> console.error("年龄不等于18的查询结果:", doc) </span></li><li class="alt"><span> } </span></li><li class=""><span>}); </span></li><li class="alt"><span>//查询年龄大于18的所有文档记录 </span></li><li class=""><span>userMode.find({"age": {"
- if (error) {
- console.error(error);
- } else {
- console.error("年龄不等于18的查询结果:", doc)
- }
- });
- //查询年龄大于18的所有文档记录
- userMode.find({"age": {"gt": 18}}, function (error, doc) { </span></li><li class="alt"><span> if (error) { </span></li><li class=""><span> console.error(error); </span></li><li class="alt"><span> } else { </span></li><li class=""><span> console.error("年龄大于18的查询结果:", doc) </span></li><li class="alt"><span> } </span></li><li class=""><span>}); </span></li><li class="alt"><span>//查询年龄大于等于18的所有文档记录 </span></li><li class=""><span>userMode.find({"age": {"gte": 18}}, function (error, doc) { </span></li><li class="alt"><span> if (error) { </span></li><li class=""><span> console.error(error); </span></li><li class="alt"><span> } else { </span></li><li class=""><span> console.error("年龄大于等于18的查询结果:", doc) </span></li><li class="alt"><span> } </span></li><li class=""><span>}); </span></li><li class="alt"><span>//查询年龄大于等于18小于等于60所有文档记录 </span></li><li class=""><span>userMode.find({"age": {"
- if (error) {
- console.error(error);
- } else {
- console.error("年龄大于等于18的查询结果:", doc)
- }
- });
- //查询年龄大于等于18小于等于60所有文档记录
- userMode.find({"age": {"gte": 18, "$lte”: 60}}, function (error, doc) {
- if (error) {
- console.error(error);
- } else {
- console.error(“年龄大于等于18小于等于60查询结果:”, doc)
- }
- });
//查询年龄小于18的所有记录
userMode.find({"age": {"$lt": 18}}, function (error, doc) {
if (error) {
console.error(error);
} else {
console.error("查询结果:", doc)
}
});
//查询年龄小于等于18的所有记录
userMode.find({"age": {"$lte": 18}}, function (error, doc) {
if (error) {
console.error(error);
} else {
console.error("查询结果:", doc)
}
});
//查询年龄不等于18的所有文档记录
userMode.find({"age": {"$ne": 18}}, function (error, doc) {
if (error) {
console.error(error);
} else {
console.error("年龄不等于18的查询结果:", doc)
}
});
//查询年龄大于18的所有文档记录
userMode.find({"age": {"$gt": 18}}, function (error, doc) {
if (error) {
console.error(error);
} else {
console.error("年龄大于18的查询结果:", doc)
}
});
//查询年龄大于等于18的所有文档记录
userMode.find({"age": {"$gte": 18}}, function (error, doc) {
if (error) {
console.error(error);
} else {
console.error("年龄大于等于18的查询结果:", doc)
}
});
//查询年龄大于等于18小于等于60所有文档记录
userMode.find({"age": {"$gte": 18, "$lte": 60}}, function (error, doc) {
if (error) {
console.error(error);
} else {
console.error("年龄大于等于18小于等于60查询结果:", doc)
}
});
日志信息:
- //查询年龄小于等于18的所有记录
- userMode.find({“age”:{“$lte”:18}},function (error,doc) {
- if (error){
- console.error(error);
- }else{
- console.error(“查询结果:”,doc)
- }
- });
- 日志信息:
- 查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
- name: ‘tiny’,
- password: ‘1234567’,
- age: 14,
- __v: 0 } ]
- 查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
- name: ‘tiny’,
- password: ‘1234567’,
- age: 14,
- __v: 0 },
- { _id: 587d8cdb16dfd2dad509e7bc,
- name: ‘tinyjoy1’,
- password: ‘1234567’,
- age: 18,
- __v: 0 } ]
- 年龄不等于18的查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
- name: ‘tiny’,
- password: ‘1234567’,
- age: 14,
- __v: 0 },
- { _id: 587d8ce516dfd2dad509e7bd,
- name: ‘tinyjoy2’,
- password: ‘1234567’,
- age: 19,
- __v: 0 },
- { _id: 587d8ced16dfd2dad509e7be,
- name: ‘tinyjoy3’,
- password: ‘1234567’,
- age: 25,
- __v: 0 },
- { _id: 587d8cf416dfd2dad509e7bf,
- name: ‘tinyjoy4’,
- password: ‘1234567’,
- age: 60,
- __v: 0 } ]
- 年龄大于18的查询结果: [ { _id: 587d8ce516dfd2dad509e7bd,
- name: ‘tinyjoy2’,
- password: ‘1234567’,
- age: 19,
- __v: 0 },
- { _id: 587d8ced16dfd2dad509e7be,
- name: ‘tinyjoy3’,
- password: ‘1234567’,
- age: 25,
- __v: 0 },
- { _id: 587d8cf416dfd2dad509e7bf,
- name: ‘tinyjoy4’,
- password: ‘1234567’,
- age: 60,
- __v: 0 } ]
- 年龄大于等于18的查询结果: [ { _id: 587d8cdb16dfd2dad509e7bc,
- name: ‘tinyjoy1’,
- password: ‘1234567’,
- age: 18,
- __v: 0 },
- { _id: 587d8ce516dfd2dad509e7bd,
- name: ‘tinyjoy2’,
- password: ‘1234567’,
- age: 19,
- __v: 0 },
- { _id: 587d8ced16dfd2dad509e7be,
- name: ‘tinyjoy3’,
- password: ‘1234567’,
- age: 25,
- __v: 0 },
- { _id: 587d8cf416dfd2dad509e7bf,
- name: ‘tinyjoy4’,
- password: ‘1234567’,
- age: 60,
- __v: 0 } ]
- 年龄大于等于18小于等于60查询结果: [ { _id: 587d8cdb16dfd2dad509e7bc,
- name: ‘tinyjoy1’,
- password: ‘1234567’,
- age: 18,
- __v: 0 },
- { _id: 587d8ce516dfd2dad509e7bd,
- name: ‘tinyjoy2’,
- password: ‘1234567’,
- age: 19,
- __v: 0 },
- { _id: 587d8ced16dfd2dad509e7be,
- name: ‘tinyjoy3’,
- password: ‘1234567’,
- age: 25,
- __v: 0 },
- { _id: 587d8cf416dfd2dad509e7bf,
- name: ‘tinyjoy4’,
- password: ‘1234567’,
- age: 60,
- __v: 0 } ]
//查询年龄小于等于18的所有记录
userMode.find({"age":{"$lte":18}},function (error,doc) {
if (error){
console.error(error);
}else{
console.error("查询结果:",doc)
}
});
日志信息:
查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 } ]
查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 },
{ _id: 587d8cdb16dfd2dad509e7bc,
name: 'tinyjoy1',
password: '1234567',
age: 18,
__v: 0 } ]
年龄不等于18的查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 },
{ _id: 587d8ce516dfd2dad509e7bd,
name: 'tinyjoy2',
password: '1234567',
age: 19,
__v: 0 },
{ _id: 587d8ced16dfd2dad509e7be,
name: 'tinyjoy3',
password: '1234567',
age: 25,
__v: 0 },
{ _id: 587d8cf416dfd2dad509e7bf,
name: 'tinyjoy4',
password: '1234567',
age: 60,
__v: 0 } ]
年龄大于18的查询结果: [ { _id: 587d8ce516dfd2dad509e7bd,
name: 'tinyjoy2',
password: '1234567',
age: 19,
__v: 0 },
{ _id: 587d8ced16dfd2dad509e7be,
name: 'tinyjoy3',
password: '1234567',
age: 25,
__v: 0 },
{ _id: 587d8cf416dfd2dad509e7bf,
name: 'tinyjoy4',
password: '1234567',
age: 60,
__v: 0 } ]
年龄大于等于18的查询结果: [ { _id: 587d8cdb16dfd2dad509e7bc,
name: 'tinyjoy1',
password: '1234567',
age: 18,
__v: 0 },
{ _id: 587d8ce516dfd2dad509e7bd,
name: 'tinyjoy2',
password: '1234567',
age: 19,
__v: 0 },
{ _id: 587d8ced16dfd2dad509e7be,
name: 'tinyjoy3',
password: '1234567',
age: 25,
__v: 0 },
{ _id: 587d8cf416dfd2dad509e7bf,
name: 'tinyjoy4',
password: '1234567',
age: 60,
__v: 0 } ]
年龄大于等于18小于等于60查询结果: [ { _id: 587d8cdb16dfd2dad509e7bc,
name: 'tinyjoy1',
password: '1234567',
age: 18,
__v: 0 },
{ _id: 587d8ce516dfd2dad509e7bd,
name: 'tinyjoy2',
password: '1234567',
age: 19,
__v: 0 },
{ _id: 587d8ced16dfd2dad509e7be,
name: 'tinyjoy3',
password: '1234567',
age: 25,
__v: 0 },
{ _id: 587d8cf416dfd2dad509e7bf,
name: 'tinyjoy4',
password: '1234567',
age: 60,
__v: 0 } ]
“ in"和 nin’
- //查询年龄等于18的所有记录
- userMode.find({age:{in: 18}},function (error,doc) { </span></li><li class="alt"><span> if (error){ </span></li><li class=""><span> console.error(error); </span></li><li class="alt"><span> }else{ </span></li><li class=""><span> console.error("年龄为18的查询结果:",doc) </span></li><li class="alt"><span> } </span></li><li class=""><span>}); </span></li><li class="alt"><span> </span></li><li class=""><span>//查询年龄等于18和19的所有记录 </span></li><li class="alt"><span>userMode.find({age:{"
- if (error){
- console.error(error);
- }else{
- console.error("年龄为18的查询结果:",doc)
- }
- });
- //查询年龄等于18和19的所有记录
- userMode.find({age:{"in":[18,19]}},function (error,docs) { </span></li><li class=""><span> if (error){ </span></li><li class="alt"><span> console.error(error); </span></li><li class=""><span> }else{ </span></li><li class="alt"><span> console.error("年龄为18和19的查询结果:",docs) </span></li><li class=""><span> } </span></li><li class="alt"><span>}); </span></li><li class=""><span> </span></li><li class="alt"><span>//查询年龄不等于18和19的所有记录 </span></li><li class=""><span>userMode.find({age:{"$nin”:[18,19]}},function (error,docs) {
- if (error){
- console.error(error);
- }else{
- console.error(“年龄不等于18和19的查询结果:”,docs)
- }
- });
//查询年龄等于18的所有记录
userMode.find({age:{$in: 18}},function (error,doc) {
if (error){
console.error(error);
}else{
console.error("年龄为18的查询结果:",doc)
}
});
//查询年龄等于18和19的所有记录
userMode.find({age:{"$in":[18,19]}},function (error,docs) {
if (error){
console.error(error);
}else{
console.error("年龄为18和19的查询结果:",docs)
}
});
//查询年龄不等于18和19的所有记录
userMode.find({age:{"$nin":[18,19]}},function (error,docs) {
if (error){
console.error(error);
}else{
console.error("年龄不等于18和19的查询结果:",docs)
}
});
日志信息:
- 年龄为18的查询结果: [ { _id: 587d8cdb16dfd2dad509e7bc,
- name: ‘tinyjoy1’,
- password: ‘1234567’,
- age: 18,
- __v: 0 } ]
- 年龄为18和19的查询结果: [ { _id: 587d8cdb16dfd2dad509e7bc,
- name: ‘tinyjoy1’,
- password: ‘1234567’,
- age: 18,
- __v: 0 },
- { _id: 587d8ce516dfd2dad509e7bd,
- name: ‘tinyjoy2’,
- password: ‘1234567’,
- age: 19,
- __v: 0 } ]
- 年龄不等于18和19的查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
- name: ‘tiny’,
- password: ‘1234567’,
- age: 14,
- __v: 0 },
- { _id: 587d8ced16dfd2dad509e7be,
- name: ‘tinyjoy3’,
- password: ‘1234567’,
- age: 25,
- __v: 0 },
- { _id: 587d8cf416dfd2dad509e7bf,
- name: ‘tinyjoy4’,
- password: ‘1234567’,
- age: 60,
年龄为18的查询结果: [ { _id: 587d8cdb16dfd2dad509e7bc,
name: 'tinyjoy1',
password: '1234567',
age: 18,
__v: 0 } ]
年龄为18和19的查询结果: [ { _id: 587d8cdb16dfd2dad509e7bc,
name: 'tinyjoy1',
password: '1234567',
age: 18,
__v: 0 },
{ _id: 587d8ce516dfd2dad509e7bd,
name: 'tinyjoy2',
password: '1234567',
age: 19,
__v: 0 } ]
年龄不等于18和19的查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 },
{ _id: 587d8ced16dfd2dad509e7be,
name: 'tinyjoy3',
password: '1234567',
age: 25,
__v: 0 },
{ _id: 587d8cf416dfd2dad509e7bf,
name: 'tinyjoy4',
password: '1234567',
age: 60,
- __v: 0 },
__v: 0 },
$Or或查询:
- //查询年龄等于18或者名字为tiny所有记录
- userMode.find({“or": [{"name": "tiny"}, {"age": 18}]}, function (error, docs) { </span></li><li class="alt"><span> if (error) { </span></li><li class=""><span> console.error(error); </span></li><li class="alt"><span> } else { </span></li><li class=""><span> console.error("
- if (error) {
- console.error(error);
- } else {
- console.error("or查询结果:", docs) </span></li><li class="alt"><span> } </span></li><li class=""><span>}); </span></li><li class="alt"><span> </span></li><li class=""><span>//查询年龄不等于18且名字不为tiny所有记录 </span></li><li class="alt"><span>userMode.find({"nor": [{"name": "tiny"}, {"age": 18}]}, function (error, docs) { </span></li><li class=""><span> if (error) { </span></li><li class="alt"><span> console.error(error); </span></li><li class=""><span> } else { </span></li><li class="alt"><span> console.error("
- if (error) {
- console.error(error);
- } else {
- console.error("nor查询结果:”, docs)
- }
- });
//查询年龄等于18或者名字为tiny所有记录
userMode.find({"$or": [{"name": "tiny"}, {"age": 18}]}, function (error, docs) {
if (error) {
console.error(error);
} else {
console.error("$or查询结果:", docs)
}
});
//查询年龄不等于18且名字不为tiny所有记录
userMode.find({"$nor": [{"name": "tiny"}, {"age": 18}]}, function (error, docs) {
if (error) {
console.error(error);
} else {
console.error("$nor查询结果:", docs)
}
});
日志信息:
- or查询结果: [ { _id: 587d8cd016dfd2dad509e7bb, </span></span></li><li class=""><span> name: 'tiny', </span></li><li class="alt"><span> password: '1234567', </span></li><li class=""><span> age: 14, </span></li><li class="alt"><span> __v: 0 }, </span></li><li class=""><span> { _id: 587d8cdb16dfd2dad509e7bc, </span></li><li class="alt"><span> name: 'tinyjoy1', </span></li><li class=""><span> password: '1234567', </span></li><li class="alt"><span> age: 18, </span></li><li class=""><span> __v: 0 } ] </span></li><li class="alt"><span>
- name: 'tiny',
- password: '1234567',
- age: 14,
- __v: 0 },
- { _id: 587d8cdb16dfd2dad509e7bc,
- name: 'tinyjoy1',
- password: '1234567',
- age: 18,
- __v: 0 } ]
- nor查询结果: [ { _id: 587d8ce516dfd2dad509e7bd,
- name: ‘tinyjoy2’,
- password: ‘1234567’,
- age: 19,
- __v: 0 },
- { _id: 587d8ced16dfd2dad509e7be,
- name: ‘tinyjoy3’,
- password: ‘1234567’,
- age: 25,
- __v: 0 },
- { _id: 587d8cf416dfd2dad509e7bf,
- name: ‘tinyjoy4’,
- password: ‘1234567’,
- age: 60,
- __v: 0 } ]
$or查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 },
{ _id: 587d8cdb16dfd2dad509e7bc,
name: 'tinyjoy1',
password: '1234567',
age: 18,
__v: 0 } ]
$nor查询结果: [ { _id: 587d8ce516dfd2dad509e7bd,
name: 'tinyjoy2',
password: '1234567',
age: 19,
__v: 0 },
{ _id: 587d8ced16dfd2dad509e7be,
name: 'tinyjoy3',
password: '1234567',
age: 25,
__v: 0 },
{ _id: 587d8cf416dfd2dad509e7bf,
name: 'tinyjoy4',
password: '1234567',
age: 60,
__v: 0 } ]
exist查询:
- //查询所有存在name属性的文档
- userMode.find({name: {$exists: true}}, function (error, docs) {
- if (error) {
- console.error(error);
- } else {
- console.error(“exists查询结果:”, docs)
- }
- });
//查询所有存在name属性的文档
userMode.find({name: {$exists: true}}, function (error, docs) {
if (error) {
console.error(error);
} else {
console.error("exists查询结果:", docs)
}
});
日志信息:
- exists查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
- name: ‘tiny’,
- password: ‘1234567’,
- age: 14,
- __v: 0 },
- { _id: 587d8cdb16dfd2dad509e7bc,
- name: ‘tinyjoy1’,
- password: ‘1234567’,
- age: 18,
- __v: 0 },
- { _id: 587d8ce516dfd2dad509e7bd,
- name: ‘tinyjoy2’,
- password: ‘1234567’,
- age: 19,
- __v: 0 },
- { _id: 587d8ced16dfd2dad509e7be,
- name: ‘tinyjoy3’,
- password: ‘1234567’,
- age: 25,
- __v: 0 },
- { _id: 587d8cf416dfd2dad509e7bf,
- name: ‘tinyjoy4’,
- password: ‘1234567’,
- age: 60,
- __v: 0 } ]
exists查询结果: [ { _id: 587d8cd016dfd2dad509e7bb,
name: 'tiny',
password: '1234567',
age: 14,
__v: 0 },
{ _id: 587d8cdb16dfd2dad509e7bc,
name: 'tinyjoy1',
password: '1234567',
age: 18,
__v: 0 },
{ _id: 587d8ce516dfd2dad509e7bd,
name: 'tinyjoy2',
password: '1234567',
age: 19,
__v: 0 },
{ _id: 587d8ced16dfd2dad509e7be,
name: 'tinyjoy3',
password: '1234567',
age: 25,
__v: 0 },
{ _id: 587d8cf416dfd2dad509e7bf,
name: 'tinyjoy4',
password: '1234567',
age: 60,
__v: 0 } ]
</div>
</article>