在Mongo FIND(regexp)中,找到的记录数量与Meteor不同。
mongodb方:
> db.products.find({name:/clp/ig}).count()
4
crome js console:
> products.find({name:/clp/ig}).count()
2
数据非常简单:
{ "_id" : ObjectId("514d39f087696bb4cc3b549d"), "code" : "P615", "name" : "PENNASOL WERKZEUGMASCHINENGETRIEBEOEL CLP 68" }
{ "_id" : ObjectId("514d39f087696bb4cc3b549e"), "code" : "P616", "name" : "PENNASOL WERKZEUGMASCHINENGETRIEBEOEL CLP 100" }
{ "_id" : ObjectId("514d39f087696bb4cc3b549f"), "code" : "P617", "name" : "PENNASOL WERKZEUGMASCHINENGETRIEBEOEL CLP 150" }
{ "_id" : ObjectId("514d39f087696bb4cc3b54a0"), "code" : "P618", "name" : "PENNASOL WERKZEUGMASCHINENGETRIEBEOEL CLP 220" }
集合
var products = new Meteor.Collection('products');
Meteor.publish( 'products', function(){
products.find();
});
可能是个错误吗?在哪里?
ps:在不同的计算机上查看。同样的魔力。
答案 0 :(得分:0)
拨打电话时,数据可能尚未在客户端上。你在任何地方使用它吗?数据仅在使用时获取,因此当您在客户端上执行find
时,您将获得已存在的结果,而其他项目只是通过网络开始。
测试是否是这种情况:
Meteor.startup
中)并记录结果。Products.find({}).fetch();
。等一段时间,然后再进行查询。答案 1 :(得分:0)
所有数据都太旧(可能是年份)。
products.find({name:/clp/ig}).fetch();
答案是:
P615 PENNASOL WERKZEUGMASCHINENGETRIEBEOEL CLP 68
P617 PENNASOL WERKZEUGMASCHINENGETRIEBEOEL CLP 150
其他
products.find({name:/clp 220/ig}).fetch();
答案是
P618 PENNASOL WERKZEUGMASCHINENGETRIEBEOEL CLP 220
这真的很神奇。