Javascript Can';无法从JS中的对象读取属性

Javascript Can';无法从JS中的对象读取属性,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我无法读取MongoDB获取的对象属性。我和MeteorJS一起工作。 我创建这样的对象 header = ["name"]; values = ["word1", "word2"]; var tmp = {}; var data = new Array(); for (var cnt = 0; cnt < values.length; cnt++){ for (var i = 0; i < header.length; i++) { temp[header

我无法读取MongoDB获取的对象属性。我和MeteorJS一起工作。 我创建这样的对象

header = ["name"];
values = ["word1", "word2"];
var tmp = {};
var data = new Array();
for (var cnt = 0; cnt < values.length; cnt++){
    for (var i = 0; i < header.length; i++) {
         temp[header[i]] = values[i];
    }
data.push(temp);
for (obj in data) {
    Badwords.insert(data[obj]);
}
我选择了数据,无法读取属性。有浏览器控制台

Badwords.findOne()

Object {_id: "uNRNDtp3RGrKA6gWz", "name": "word1"}

Badwords.findOne().hasOwnProperty("name")

false

Badwords.findOne().hasOwnProperty('name')

false

Badwords.findOne().hasOwnProperty('\"name\"')

false

Badwords.findOne().hasOwnProperty('\'name\'')

false

Badwords.findOne().hasOwnProperty("\'name\'")

false

Badwords.findOne().hasOwnProperty("\"name\"")

false

Badwords.findOne()

Object {_id: "uNRNDtp3RGrKA6gWz", "name": "word1"}

Badwords.findOne()["name"]

undefined
但是

属性名称中可能存在问题:它是
“name”
,但不是
name
未定义

Badwords.findOne().keys
undefined
理查兹,我添加了方法
getKey()

属性名为“name”,长度为5。要检查它,请执行以下操作:

var prop = '';
for (var i in Badwords.findOne()) {
    prop = i;
}
"name"

prop.length
5

prop.charCodeAt(0)
65279

prop.charCodeAt(1)
110

我运行了你的代码,发现了2个bug。第一个是缺少的}在第一个for循环的末尾,第二个是定义一个tmp对象,然后使用temp。我运行的正确代码是:

header = ["name"];
values = ["word1", "word2"];
var temp = {};
var data = new Array();
for (var cnt = 0; cnt < values.length; cnt++) {
  for (var i = 0; i < header.length; i++) {
    temp[header[i]] = values[i];
  }
  data.push(temp);
}
for (obj in data) {
  Badwords.insert(data[obj]);
}

Badwords.findOne().keys返回什么?请尝试按照Thanks获取对象的属性,但bug出现在
标题中<代码>标题[0]。长度为5的标题[0]。字符编码(0)65279
var prop = '';
for (var i in Badwords.findOne()) {
    prop = i;
}
"name"

prop.length
5

prop.charCodeAt(0)
65279

prop.charCodeAt(1)
110
header = ["name"];
values = ["word1", "word2"];
var temp = {};
var data = new Array();
for (var cnt = 0; cnt < values.length; cnt++) {
  for (var i = 0; i < header.length; i++) {
    temp[header[i]] = values[i];
  }
  data.push(temp);
}
for (obj in data) {
  Badwords.insert(data[obj]);
}
Badwords.findOne().hasOwnProperty("name");
true