Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法访问对象属性。返回未定义(Meteor)_Javascript_Node.js_Mongodb_Object_Meteor - Fatal编程技术网

Javascript 无法访问对象属性。返回未定义(Meteor)

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

我试图从一个物体上得到经纬度。为什么它返回未定义?。我正在使用.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"
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);
}