我将渡槽用作服务器,在其中定义了一个用户对象并对其进行扩展以使用OAuth:
class ManagedUser extends ManagedObject<_User> implements _User, ManagedAuthResourceOwner<_User>
在渡槽上完成工作之后,我开始研究flutter应用程序,并希望在flutter中也使用ManagedUser对象,这就是为什么我考虑将其放入单独的项目中的原因。
我现在(部署期间)面临的问题如下:
ERROR:flutter/shell/common/shell.cc(184)] Dart Error: error: import of dart:mirrors with --enable-mirrors=false
正如我在此处Dart Error: error: import of dart:mirrors with --enable-mirrors=false所读,这是因为颤振似乎并不支持部分渡槽(不幸的是,在我的共享项目中,这才需要使用ManagedObject)。
所以我有点卡在这里。我有什么选择?我真的不喜欢在颤动侧再次映射所有对象。
答案 0 :(得分:1)
您将无法在同一项目中组合Aqueduct和Flutter-它们具有不同的编译目标,并且都利用了这些目标。
一般方法是使用db.collection.bulkWrite(
[
{ "updateOne" :
{
"filter" : { "_id" : 1},
"update" : { "$set" : { "path" : <newPath value> } }
}
},
{ "updateOne" :
{
"filter" : { "_id" : 2},
"update" : { "$set" : { "path" : <newPath value> } }
}
},
)
从您的代码创建OpenAPI文档,然后使用OpenAPI代码生成器来构建客户端代码。这种方法比在服务器和客户端之间共享代码更可取。可以在浏览器和移动目标之间共享代码。最好避免使用一种表示对象的数据库,服务器和客户端定义的类型。客户端类型和数据库表映射最终将具有难以管理的差异。