为PeristedModel.findOrCreate()

时间:2015-11-19 20:20:31

标签: loopbackjs strongloop

我正在尝试使用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");
                                }
                            });
                        }
                    });

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

我想我正在做一些非常基本的错误,哦,是的,我检查了模型是“加载”的。 感谢。

1 个答案:

答案 0 :(得分:0)

我已经为PersistedModel.findOrCreate(其中,数据,回调)阅读了文档here。现在您看到第一个参数只接受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");
                }
            });
        }
    });

希望它能解决你的问题。