【发布时间】:2022-01-21 12:12:33
【问题描述】:
我正在删除一个 Realm db 对象,但我想在删除后访问它的值,以便在其他处理中使用它。 这就是我的代码的样子:
const theObject = realm.objects('Products').filtered("_id == $0", "61bba17fc7e82eaae53527de")
//the fetched theObject(response) looks like this:
[{_id:'61bba17fc7e82eaae53527de', name: 'Sugar'}]
var productName = theObject[0].name
realm.write(() => {
realm.delete(theObject)
})
return productName //I want to use this productName here to do some other stuffs
我想使用/返回 productName 来做其他事情,但是当我尝试访问它时,我发现它 undefined 或 null。
我认为这是因为 theObject 已被删除,因此无法访问 productId,但我想知道为什么会这样,因为我在删除之前分配它时已经捕获了该 id。即productName = theObject[0].name
现在,我的问题是,我怎样才能获取/访问/返回该产品名称?
【问题讨论】:
-
在 JS 中不能删除对象,只有 Garbage Collector 可以做到。您只删除了对
realm中的对象(属性)的引用。 -
@Teemu 现在删除对对象的引用后,我如何访问该 productName?我的问题应该怎么解决?
-
如果您运行代码,
productName仍然包含分配给它的内容。 -
@Teemu 已解决。 productName 返回一个对象的数组,即 [{}],所以我通过访问该对象并找到值来解决它
标签: javascript arrays realm mongodb-realm