通过realm.js查找对象

时间:2016-03-02 18:21:56

标签: react-native realm

您好我使用带有react-native的域数据库。

我有Item架构并按ID找到一个项目。

var items = realm.objects('Item');
var item = items.filtered('id == $0', item_id);
console.log(item.name); // It should be printed name, but undefined

我无法找到物品。所以使用lodash。

var item = _.find(realm.objects('Item'), _.matchesProperty('id', item_id));
console.log(item.name); // print "ABCD"

如何通过ID获取项目?

3 个答案:

答案 0 :(得分:7)

filtered会返回一个Results对象,该对象与javascript Array非常相似。

所以你的代码应该是:

var items = realm.objects('Item').filtered('id == $0', item_id);
var item = items[0];
console.log(item.name); // should print the name

答案 1 :(得分:1)

realm.objectForPrimaryKey('Item', item_id)

答案 2 :(得分:0)

您可以使用 objectForPrimaryKey 函数,但必须设置 primaryKey 您的架构

设置主键

const BookSchema = {
  name: 'Book',
  primaryKey: 'id',
  properties: {
    id:    'int',    // primary key
    title: 'string',
    price: 'float'
  }
};

使用

const findObject = realm.objectForPrimaryKey('Item', item_id);