Javascript 相同的解析查询在chrome js控制台中找到记录,但在node.js代码中找不到

Javascript 相同的解析查询在chrome js控制台中找到记录,但在node.js代码中找不到,javascript,node.js,parse-platform,Javascript,Node.js,Parse Platform,我有以下代码试图查询并查看记录是否已经存在,并且仅在记录不存在时保存它: var catalogErrQuery = new Parse.Query(CatalogError); catalogErrQuery.equalTo("type", "duplicate_event"); catalogErrQuery.containsAll("data", [event.id, eventTimeMap[signature].id]); catalogErrQuery.first().then(fu

我有以下代码试图查询并查看记录是否已经存在,并且仅在记录不存在时保存它:

var catalogErrQuery = new Parse.Query(CatalogError);
catalogErrQuery.equalTo("type", "duplicate_event");
catalogErrQuery.containsAll("data", [event.id, eventTimeMap[signature].id]);
catalogErrQuery.first().then(function(object){
    if (object === undefined) {
        var catalogError = new CatalogError();
        catalogError.set("type", "duplicate_event");
        catalogError.set("data", [event.id, eventTimeMap[signature].id]);
        catalogError.save();
    }
});
但是,当在节点中运行代码时,会出现一些问题。即使我在Parse data browser中以及在chrome js控制台中尝试运行相同的查询时可以看到记录,它也永远找不到记录。因此,即使记录已经存在,它也会保存该记录的副本

“data”列是数组类型,我存储的是一个数字数组。在js控制台中,以下查询打印“found”:


我做错了什么?太混乱了。

这两个代码片段在
containsAll
行上不同。第二个代码段中提到的ID不是解析对象ID,它们是10个字母数字字符。编写的第二个代码段找不到任何内容

用第一个代码段中的表达式替换那些硬编码的ID。或者,如果这不可行

console.log("first id " + event.id + ", and second id " + eventTimeMap[signature].id);

并在第二个代码段中使用该输出。

谢谢您的评论。在我的第一个示例中,
event
对象和
eventTimeMap[signature]
对象都只是javascript json对象。它们不是解析对象。因此ID确实是数字的,而不是字符串。我在第二个示例中输入的值实际上是从我从上面发布的代码中删除的日志行中复制粘贴的。
console.log("first id " + event.id + ", and second id " + eventTimeMap[signature].id);