2017-11-11 289 views
1

例如,在我的本地解析服务器中,每次保存对象时,都会为该特定对象创建新的唯一对象ID。但是当我将它部署到实时服务器(ec2或其他站点)时,它会更新同一对象ID中的数据。 (如果我第一次保存一个对象,它会向我展示像67XBVFA这样的objectid,但是当我创建另一个对象时,它将更新同一对象ID 67XBVFA中的值)。顺便说一句,我正在使用MongoDB作为数据库。尽管我更改了字段的值,但仍然保留了相同的对象ID。解析服务器在mongodb中创建相同的对象

sampleobject.set("name", "xxxx"); 
sampleobject.set("email", "[email protected]"); 
sampleobject.save(null).then(objectstatus => { 
    res.success(200, objectstatus 
)} 

为什么它在我的本地主机中正确生成一个唯一的对象ID。但在活动实例中更新相同的对象ID?

回答

0
const sampleobjects = Parse.Object.extend("sampleClass"); 
const sampleobject = new sampleobjects(); 

问题是我在云端函数之外声明了这个。喜欢这个。

const sampleobjects = Parse.Object.extend("sampleClass"); 
const sampleobject = new sampleobjects(); 

Parse.Cloud.define('sampleFunction', (res) => { 
    sampleobject.set("name", "xxxx"); 
    sampleobject.set("email", "[email protected]"); 
    sampleobject.save(null).then(objectstatus => { 
     res.success(200, objectstatus 
    )} 
}); 

因此,每次检查它时,都会启动相同的对象ID。

因此,当我这样宣布它内部。

Parse.Cloud.define('sampleFunction', (res) => { 
    const sampleobjects = Parse.Object.extend("sampleClass"); 
    const sampleobject = new sampleobjects(); 
    sampleobject.set("name", "xxxx"); 
    sampleobject.set("email", "[email protected]"); 
    sampleobject.save(null).then(objectstatus => { 
     res.success(200, objectstatus 
    )}; 
});