Javascript 无法访问对象属性。返回未定义(Meteor)
我试图从一个物体上得到经纬度。为什么它返回未定义?。我正在使用.find(),因为: 控制台:Javascript 无法访问对象属性。返回未定义(Meteor),javascript,node.js,mongodb,object,meteor,Javascript,Node.js,Mongodb,Object,Meteor,我试图从一个物体上得到经纬度。为什么它返回未定义?。我正在使用.find(),因为: 控制台: [Object] 0: Object_id: "vNHYrJxDXZm9b2osK" latitude: "xx.x50785" longitude: "x.xx4702" __proto__: Objectlength: 1 __proto__: Array[0] undefined 尝试2: 控制台: [Object] 0: Object_id: "vNHYrJxDXZm9b2osK" la
[Object]
0: Object_id: "vNHYrJxDXZm9b2osK"
latitude: "xx.x50785"
longitude: "x.xx4702"
__proto__:
Objectlength: 1
__proto__: Array[0]
undefined
尝试2:
控制台:
[Object]
0: Object_id: "vNHYrJxDXZm9b2osK"
latitude: "xx.x50785"
longitude: "x.xx4702"
__proto__:
Objectlength: 1
__proto__: Array[0]
undefined
Mongo游标的
fetch
方法返回一个数组,因此您必须访问数组中第一项的经度:LatLngs[0]。经度
此外,您使用的是客户端,因此使用的是MiniMongo,这是Mongo查询语言的浏览器重新实现:您不能对findOne
与find
的性能做出相同的假设,因为它与常规服务器端MongoDB引擎的实现不同
只需使用findOne
,它是专门为您的用例设计的。返回一个数组。在第一个示例中,您需要执行以下操作:
// fetch an array of shops
var shops = Shops.find(...).fetch();
// get the first shop
var shop = shops[0];
// if the shop actually exsists
if (shop) {
// do something with one of its properies
console.log(shop.latitude);
}
链接的文章在这种情况下不适用-您不是在测试它是否存在,而是在获取它并读取它的内容
改用:
// get a matching shop
var shop = Shops.findOne(...);
// if the shop actually exsists
if (shop) {
// do something with one of its properies
console.log(shop.latitude);
}