Meteor:我可以检查一个普通的js对象是否通过MongoDB查询吗?
我需要使用MongoDB请求(Meteor服务器端)过滤一个普通的JS对象,这在理想情况下不需要将其插入数据库,这可能吗Meteor:我可以检查一个普通的js对象是否通过MongoDB查询吗?,mongodb,meteor,Mongodb,Meteor,我需要使用MongoDB请求(Meteor服务器端)过滤一个普通的JS对象,这在理想情况下不需要将其插入数据库,这可能吗 类似于Mongo.match(myPlainObject,{“fieldName”:“valueExpected”})为什么要在Mongo中执行此操作?您可以使用Meteor中的内置功能测试JSON对象。一个很大的优点是,这个测试可以在客户机和服务器上进行,这是为了提高效率/安全性而经常要做的 您还可以使用日期范围检查或其他任何功能。预定义匹配中未包含的内容可以按如下方式执行
类似于
Mongo.match(myPlainObject,{“fieldName”:“valueExpected”})代码>为什么要在Mongo中执行此操作?您可以使用Meteor中的内置功能测试JSON对象。一个很大的优点是,这个测试可以在客户机和服务器上进行,这是为了提高效率/安全性而经常要做的
您还可以使用日期范围检查或其他任何功能。预定义匹配中未包含的内容可以按如下方式执行:
NonEmptyString = Match.Where(function (x) {
check(x, String);
return x.length > 0;
});
check(arg, NonEmptyString);
您可以编写任何与日期相关的匹配项。(请记住,您也可以通过说明以下内容来确保它实际上是一个日期:
check(arg,Date);
您只是按名称检查字段,还是需要像$gt
这样的mongo运算符?@DavidWeldon我需要mongo运算符。对于字段筛选来说,这很简单。一些软件包,如aldeed:simple schema
极大地增加了检查
的容量。您考虑过使用mongo运算符吗?@Kyll甚至下划线EJS都很有帮助,这里我不是在寻找替代方案,重点是在客户机和服务器上使用相同的mongodb查询描述。同样,答案可能是“检查”不足以确保日期范围或更复杂的操作,或者如果不将对象添加到数据库中,就无法做到这一点。(将我的答复改为原来的答复。)简单地说,我想不出什么东西可以在Mongo查询中表达,但不能在check
&Match
中表达,因为Match。其中
允许使用任何Javascript。顺便说一句,如果您使用包,您甚至可以以非常简单的方式防止插入不匹配的JSON对象。。。