Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在扩展用户模型上使用updateAttributes()时,环回返回未更改的文档_Javascript_Node.js_Mongodb_Loopbackjs - Fatal编程技术网

Javascript 在扩展用户模型上使用updateAttributes()时,环回返回未更改的文档

Javascript 在扩展用户模型上使用updateAttributes()时,环回返回未更改的文档,javascript,node.js,mongodb,loopbackjs,Javascript,Node.js,Mongodb,Loopbackjs,在我的扩展用户模型“user”上调用updateAttributes成功,返回更新的文档,更新数据库,但如果我查询完全相同的文档,它将保持不变: (在远程方法中调用) 第一个日志打印名为“Original”的我的用户 第二个日志打印正确更新的名为“Test”的用户 第三个日志与第一个日志打印相同 此外,数据库更改正确 当我检查数据源中的条目时,updateAttributes被正确地反映出来,最后我不知道旧数据来自哪里 有什么提示吗?这里潜在的问题是什么?我怀疑扩展用户模型,但如果您使用lo

在我的扩展用户模型“user”上调用
updateAttributes
成功,返回更新的文档,更新数据库,但如果我查询完全相同的文档,它将保持不变: (在远程方法中调用)

  • 第一个日志打印名为“Original”的我的用户

  • 第二个日志打印正确更新的名为“Test”的用户

  • 第三个日志与第一个日志打印相同

此外,数据库更改正确 当我检查数据源中的条目时,updateAttributes被正确地反映出来,最后我不知道旧数据来自哪里


有什么提示吗?这里潜在的问题是什么?我怀疑扩展用户模型,但如果您使用loopback3(不确定loopback2),则无处开始挖掘。此行为取决于
UpdateLoad
选项。你可以在这里找到一些信息:

默认情况下,创建和更新属性不应用数据库更新 返回到回调的模型实例,因此没有任何更改 由“装载的”挂钩制成的标签将被丢弃。若要更改此行为,请设置 每个模型选项UpdateLoad:true


听起来mongodb只是花了一段时间来“提交”更新更改,您可以通过等待几毫秒然后查询更新的模型来测试这一点。
models.user.findById(userId, function (err, userInstance) {

    console.log(userInstance)

    let newAttributes = {
        firstName:"Test"
    }

    userInstance.updateAttributes(newAttributes, function (err, newInstance) {

        console.log(newInstance)

        models.user.findById(userId, function (err, notUpdatedUser) {

        console.log(notUpdatedUser)
        });
    });
});