版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Miss_LL/article/details/54573574
这个例子插入的例子是在http://blog.csdn.net/miss_ll/article/details/54573400数据库基础进行继续完善的,数据库中存在着三条数据。
查询的方式:
(1)条件查询
修改数据库helper,我这里是testsusers.js
Template.testsusers.helpers({
testsusers:function () {
//1.条件查询
var clt = null;
clt = TestsUsers.find({name:'name4'});
return clt;
}
});
相当于select * from tests where name='name4';
展示结果:(2)查询符合条件的第一条记录
修改数据库helper,我这里是testsusers.js
Template.testsusers.helpers({
testsusers:function () {
var clt = null;
//2.查询提条记录
clt = TestsUsers.findOne({name:'name3'});
return clt;
}
});
发现报错了,这是因为findOne()返回的是Object类型,不适用于模板中each循环
(3)模糊查询
修改数据库helper,我这里是testsusers.js
Template.testsusers.helpers({
testsusers:function () {
var clt = null;
//3.模糊查询
clt = TestsUsers.find({name:/^n/});
return clt;
}
});
相当于select * from tests where name like 'n%';
这样数据库中所有n开头的name就都输出了
(4)或查询(指定多个查询条件,查找集合中所有满足其中任何一个条件的记录就是或查询)
修改数据库helper,我这里是testsusers.js
Template.testsusers.helpers({
testsusers:function () {
var clt = null;
//4.或查询
clt = TestsUsers.find({$or:[{name:/^n/},{age:{$gt:20}}]});
return clt;
}
});
很奇怪为啥明明有三条数据,但是还是查出这两个是不,在仔细看看呢