";msg":"分析JSON字段值时出错.意外的OBJECT_START
"msg":"Error parsing JSON field value. Unexpected OBJECT_START
我正在使用node和mongoose来更新watson排名和检索数据库。我正在尝试将文档添加到集合中。我可以添加一个文档。但是,我为multiple创建的json对象失败了。我在这里看到过这个答案,但它是针对卷曲的。我想知道是否有人能帮我处理JS部分。
// add a document
//var doc = { id : 1234, title_t : 'Hello', text_field_s: 'some text' };
var data = [];
for (var count = 0; count < documents.length ; count++){
data.push({"add":{"doc":{id : documents[count]._id, problem : documents[count].problem, description : documents[count].description, resolution : documents[count].resolution}}})
}
console.log(data);
solrClient.add(data, function(err) {
if(err) {
console.log('Error indexing document: ' + err);
} else {
console.log('Indexed a document.');
solrClient.commit(function(err) {
if(err) {
console.log('Error committing change: ' + err);
} else {
console.log('Successfully commited changes.');
callback(documents);
}
});
}
});
我得到这个:
[ { add: { doc: [Object] } },
{ add: { doc: [Object] } },
{ add: { doc: [Object] } },
{ add: { doc: [Object] } },
{ add: { doc: [Object] } },
{ add: { doc: [Object] } } ]
然而,我认为我需要这样:[add:{doc:[Object]},add:{doc:[Object]},…
当我试图删除add前面的{时,我在参数列表后面得到一个错误(丢失(,它不会运行。
查看测试代码,我认为您需要使用一个简单的文档对象数组:
var data = [];
for (var count = 0; count < documents.length ; count++){
data.push({ id : documents[count]._id, problem : documents[count].problem, description : documents[count].description, resolution : documents[count].resolution})
}
[
add: {doc: [Object] },
add : {doc: [Object] },
//...
add : {doc: [Object] }
]
是一个关联数组,在JS中转换为对象
一个对象不能有多个名称相同的属性。
然而,您可能需要的是一个简单的array:
[
{doc: [Object] },
{doc: [Object] },
//...
{doc: [Object] }
]
[ add: {doc: [Object] }, add : {doc: [Object] }, ...
无效,因为密钥不是唯一的。
我认为你的代码是正确的。像这样改变callback(null, documents);
我认为callback
适用于您的上级方法。
所以您的问题示例代码中没有callback
。
您不需要调用commit
。只要添加就足够了。
solrClient.add(data, function(err, added) {
if(err) {
console.log('Error indexing document: ' + err);
} else {
console.log('Indexed a document.');
console.log(added);
}
});
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- "未捕获的语法错误:意外的标记}"
- "未捕获的语法错误:意外的标记"角度JS
- "未捕获类型错误/丢弃意外“;因为一句台词而出现?(HTML w/<脚本>)
- "未捕获的语法错误:意外的标记<"当尝试使用谷歌'核心报告API
- 语法错误:"意外的标记<"在Web控制台中
- "未捕获的SyntaxError:意外的令牌ILLEGAL“;当我通过AJAX发送html时
- 未捕获的语法错误:意外的令牌)",
- "JSON_PARSING_ERROR:位置0处的意外字符(d);当从GAS发送GCM请求时
- JSON.parse获取“;未捕获的语法错误:意外的标记h"
- "未捕获的语法错误:意外的令牌导入"当将momentjs与ASP5/MVC6一起使用时
- Javascript”;未捕获的语法错误:意外的标记"错误
- "SyntaxError:JSON.parse:意外字符"将多个变量从AJAX传递到PHP时出错
- JavaScript:“;失踪"或“;意外令牌JavaScript}”;
- "未捕获的SyntaxError:使用Reactivity的意外标记{"
- 投掷"意外标记“;错误,当我在reactjs中使用jsopapi时
- "未捕获的语法错误:意外标识符“;带有unbind
- Nodejs-Mysql:"SyntaxError:意外的输入结束“;如果查询包含'其中'
- 电子,反应,webpack”;未捕获的语法错误:意外的保留字"
- 为什么jsfiddle会给我错误“;SyntaxError:意外的令牌:"