解析服务器在mongodb中创建相同的objectid

时间:2017-11-11 04:58:23

标签: database mongodb express parse-platform parse-server

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

sampleobject.set("name", "xxxx");
sampleobject.set("email", "yyy@y.com");
sampleobject.save(null).then(objectstatus => {
   res.success(200, objectstatus
)}

为什么它在我的localhost中正确生成唯一的对象ID。但是在实例中同一个对象的更新是什么?

1 个答案:

答案 0 :(得分: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", "yyy@y.com");
    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", "yyy@y.com");
    sampleobject.save(null).then(objectstatus => {
        res.success(200, objectstatus
    )};
});