PeristedModel.findOrCreate() 出现 'method not exist' 错误

Getting 'method not exist' error for PeristedModel.findOrCreate()

我正在尝试使用 mongodb 连接器

在环回中使用方法 Model.findOrCreate
Country.findOrCreate({where: {iso2a: iso2a}}, {
                        "iso2a": iso2a,
                        "polygon": polygon
                    }, function(err, obj){
                        if(err){
                            console.log("Error finding and/or creating:", err);
                        }else{
                            obj.iso2a = iso2a;
                            obj.polygon = polygon;

                            obj.save(function(err, obj){
                                if(err){
                                    console.log("Error saving");
                                }else{
                                    console.log("Success saving");
                                }
                            });
                        }
                    });

但是我一直收到函数不存在的错误...

我想我做错了一些非常基本的错误,哦,是的,我检查了模型是 "loaded"。 谢谢

我已阅读 here PersistedModel.findOrCreate(其中,数据,回调)的文档。现在你看到第一个参数只接受 where 子句,所以你不必明确指定它。这是更正后的代码:

Country.findOrCreate(
    { iso2a: iso2a },    //adding where clause is not required.
    {
        "iso2a": iso2a,
        "polygon": polygon
    },
    function(err, obj) {
        if(err) {
            console.log("Error finding and/or creating:", err);
        } else {
            obj.iso2a = iso2a;
            obj.polygon = polygon;

            obj.save(function(err, obj) {
                if(err) {
                    console.log("Error saving");
                } else {
                    console.log("Success saving");
                }
            });
        }
    });

希望它能解决您的问题。