- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到每次运行应用代码时都会收到以下警告:
W/Firestore: (0.6.6-dev) [Firestore]: The behavior for java.util.Date objects stored in Firestore is going to change AND YOUR APP MAY BREAK. To hide this warning and ensure your app does not break, you need to add the following code to your app before calling any other Cloud Firestore methods:
FirebaseFirestore firestore = FirebaseFirestore.getInstance();
FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
.setTimestampsInSnapshotsEnabled(true)
.build();
firestore.setFirestoreSettings(settings);
With this change, timestamps stored in Cloud Firestore will be read back as com.google.firebase.Timestamp objects instead of as system java.util.Date objects. So you will also need to update code expecting a java.util.Date to instead expect a Timestamp. For example:
// Old:
java.util.Date date = snapshot.getDate("created_at");
// New:
Timestamp timestamp = snapshot.getTimestamp("created_at");
java.util.Date date = timestamp.toDate();
Please audit all existing usages of java.util.Date when you enable the new behavior. In a future release, the behavior will be changed to the new behavior, so if you do not follow these steps, YOUR APP MAY BREAK.
如果您从 DocumentSnapshot 中单独获取每个文档对象,则警告提供的示例建议了转换代码的最佳方法。
我的问题是 - 如果您使用 .toObject()
会怎样? DocumentSnapshot 上的方法直接从中获取 POJO,在这种情况下是否有更新代码/数据模型的建议/优化方法?
因为以下场景java.util.Date
目前已在应用程序中使用 -
Map<String, Date>
)。如何在不做太大改动的情况下处理 documentSnapshot 中此类数据对象的代码转换?One way I have already thought is to update the POJO's with
java.util.Date
fields tocom.google.firebase.Timestamp
as well as in theMap<K, V>
implementations. After that update the code implementation by adding.toDate()
after the Timestamp field calls. But this way doesn't seem optimized.
最佳答案
使用 toObject() 时,Firestore SDK 会自动将 Timestamp 文档字段转换为 POJO 类成员的 Date 对象。它能够在运行时检测类型以进行转换。
您引用的警告是针对在直接访问快照数据时尝试假定对象类型的代码。
关于java - 使用 toObject 方法将 Snapshot 转换为 POJO 时,将包含 Date 对象的代码转换为 Firebase.Timestamp 对象的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51143419/
我正在使用 MomentJS,目前 moment().toObject() 输出 { years:2016, months:10, date:3, hours:18, milliseconds:85,
在此answer ,并且用户已在此处向 toObject 方法添加了一些内容: PostModel changedModel = documentChange.getDocument().toObje
当toSource方法用于一个对象时..它会是这样的 ({name:"myname", value:"myvalue"}) 我的问题是如何将它转换回对象?或者更确切地说,只是访问像这样的属性 aler
这是我在 Firestore 中的 Class 数据模型: 这是我的 Kotlin 模型中的 Class。 data class Class( var teacher: String = ""
我有一些 JSon 的一部分,我试图将其映射到 C# 对象。 JSon 的其余部分正确映射到对象,但只有这部分不映射任何内容并且对象值为空。 这是我调用的代码 var data = JObject.P
我最近看到一个使用这种风格的项目: (SomeEnum)Enum.ToObject(typeof(SomeEnum), some int) 而不是这种风格: (SomeEnum)some int 为什
我有类似以下代码: User.findOne(id) .exec((err, user) => { Pets.find(_.pluck(user.pets, 'id'))
出于学习目的,我开始浏览 Node js-express 应用程序代码。遇到以下行,不确定以下行中 getter 和 virtual 的使用。 var pgmsDbObj = chnnlList[c
我想从 firebase firestore 获取数据并使用数据类转换 toObject()。但它不起作用,因为对象已初始化但未设置字段。 这与 Firebase Firestore toObject
所以我们使用的可能是相当旧的 Spring 属性转换风格。基本上,当页面加载时,它会将实体对象转换为其 id 值,然后当页面提交时,它会获取 id 值,通过该 id 查找实体对象并将其填充回来。 示例
当使用字符串属性在 JObject 上调用 ToObject 时,转换日期时间值。 class Program { static void Main(string[] args) {
我在 Android 项目中使用 Firestore。 我有一个 Transaction 模型,它有一个 org.threeten.bp.LocalDateTime 日期 字段。 当我尝试通过调用 d
我正在尝试学习 MongoDB/Node,但我注意到在架构中我经常看到这样的内容: toObject: { virtuals: true } toJSON: { virtuals: true } 这两
据我了解,没有 .toObect()在 JavaScript 中,但它在 mongoose 中用于将 mongoose 文档更改为对象,以便您可以使用 JavaScript 内置函数。 我不知道什么时
Mongoose documentation for toObject列出了功能、选项,并给出了 toObject 的功能示例。 toJSON 的 Mongoose 文档表示选项与 toObject
我想将文档快照转换为 pojo 对象。但我无法理解这个 .toObject() 方法背后的逻辑。有人可以解释一下它的工作原理,即参数、它是如何工作的、我应该如何在 firebase 中使用它。 pri
我在将 JSON 文本序列化为包含 SecureString 变量的对象时遇到问题。我如何序列化以下内容,同时将公共(public)“pwd”变量保留为 SecureString? 假设有以下字符串:
借助 Cloud Firestore,您可以使用 document.toObject(YourClass.class); 将文档转换为对象,其中类的变量与数据库中的变量匹配。但是,如果数据库中的一个变
我正在尝试从 JObject 创建 .NET 对象,但我将对象的所有属性设置为默认值(string 为 null,int 为 0 等) 我正在创建一个简单的 Jobject: var jsonObje
我在原始 Canvas 对象上设置了一些用户定义的属性,当我使用canvas.getActiveObject.toObject()时,结果无法显示用户定义的属性,我该怎么办可以让它显示出来吗?或者是我
我是一名优秀的程序员,十分优秀!