我正在领域中创建数据库,但是当我想使用Realm.objects()查询数据时,返回空对象,例如:{“ 0”:{},“ 1”:{},“ 2 “:{} ... etc},下一个是我的代码:
import Realm from "realm";
const nombreEsquema = 'Imagen12';
class Imagen {}
let esquema = Imagen.schema = {
name: nombreEsquema,
properties: {
nombre: {
type: 'string'
},
uri: {
type: 'string'
},
url: {
type: 'string'
},
}
};
let dbRealm = Realm.open({
schema: [esquema]
});
functionRealm() {
dbRealm.then(realm => {
realm.write(() => {
realm.create(nombreEsquema, {
nombre: 'David',
url: 'My URL',
uri: 'My URI'
});
});
let images = realm.objects(nombreEsquema);
console.log("------------------------------");
for (let i of images) {
console.log(i);
}
});
}
我阅读了该领域的文档,但没有看到任何有关该问题的信息,我的领域版本为5.0.2,而且我不知道我做的不好,希望您能为我解决问题。
答案 0 :(得分:1)
所以我也有同样的问题。我可以按照以下步骤解决它:
将领域包升级到5.0.3 yarn upgrade realm
运行npx react-native link realm
(Realm尚不完全支持自动链接)
确保在Android / app / src / main / java / com / import io.realm.react.RealmReactPackage;
/ MainApplication.java中的MainApplication.java顶部添加此行-> <your-app-name>
<------------------------------------- || **可选** || ------------------------------------->
**您不必这样做,只是以防万一...
<your-app-name>
/ MainApplication.java中检查您的软件包列表,以确保其配置如下: @Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
+ packages.add(new RealmReactPackage()); // <-- This line adds in the realm package.
packages.add(new RNSensitiveInfoPackage());
return packages;
}
cd进入/ android目录,并通过运行./gradlew clean
从项目的根目录npx react-native run-android
**如果出现类似以下错误:
Native module realm tried to override realm for module name realm. If this was your intention, set canOverrideExistingModule=true
打开<your-app-name>
/ node_modules / realm / android / src / main / java / io / realm / react / RealmReactModule.java
在RealmReactModule类中添加以下行:
@Override
public boolean canOverrideExistingModule() {
return true;
}
希望这会有所帮助! ?
答案 1 :(得分:0)
实际上,您可以将域升级到5.0.3,因为5.0.2上存在错误
请参见发布日志:https://github.com/realm/realm-js/releases/tag/v5.0.3