var chatIds = ["XWNGstSqtDprdMqnC",
"twqExeDofj5J492Q6",
"M77enWFMDCABKx3Goq5gjsToaBLDLcRs7b",
"aSKprL5omjCEiR4nSq5gjsToaBLDLcRs7b"]
var dbname = 'rocketchat';
var db = db.getSiblingDB(dbname);
for (var i=0; i < chatIds.length; i++) {
var cursor = db.rocketchat_message.find({"rid":chatIds[i]})
printjson(cursor.next());
}
您好,为mongodb编写JavaScript时出错。 上面的JavaScript文件 它是通过“ mongo --quiet chat_content.js ”执行的。 输出数组的第一个结果,但第二个结果具有以下错误。
{
"_id" : "9yvRFCTi4YZzGdgH7",
"t" : "r",
"rid" : "XWNGstSqtDprdMqnC",
"ts" : ISODate("2017-01-17T08:25:24.073Z"),
"msg" : "it_team",
"u" : {
"_id" : "twqExeDofj5J492Q6",
"username" : "sumin_kim"
},
"groupable" : false,
"_updatedAt" : ISODate("2017-01-17T08:25:24.073Z")
}
2018-10-18T18:23:44.375+0900 error hasNext: false at
src/mongo/shell/query.js:127
failed to load: chat_content.js
我想要的输出是通过循环输出所有对话,但是在编写JavaScript时似乎有些不了解。感谢您的帮助。
答案 0 :(得分:0)
这不是javascript语法错误,但是在mongodb shell方法中我没有注意到这个问题。 这是适合我的情况的正确方法。
db.rocketchat_message.find({"rid":{$in:["XWNGstSqtDprdMqnC", "twqExeDofj5J492Q6"]}}).pretty();
我已经引用了这个thread。