检查Realm代理对象

时间:2019-05-28 14:49:00

标签: javascript node.js realm realm-object-server

在javascript中,我正在使用此功能

export async function createNewRealm(name) {
  if (process.env.REALM_DISABLED === 'true') return Promise.resolve();
  if (!connectionAdminUser) await establishRealmConnection();
  console.log(`Creating ${name} at realms://${server}/${name}`);
  return Realm.open({
    sync: {
      user: connectionAdminUser,
      url:  `realms://${server}/${name}`
    }
  });
}

像这样调用函数

  let test = await realm.createNewRealm('test');
  console.log(test);
  console.log(test.empty);

我得到以下输出

Creating test at realms://:SNIPPED/company-test
Connection[1]: Session[1]: client_reset_config = false, Realm exists = true, async open = false, client reset = false
Connection[1]: Connected to endpoint ':SNIPPED' (from ':SNIPPED')
Connection[1]: Disconnected

Realm {}  <-- THIS being first console.log
true      <-- THIS being second console.log

Connection[2]: Session[2]: client_reset_config = false, Realm exists = true, async open = false, client reset = false
Connection[2]: Connected to endpoint ':SNIPPED' (from ':SNIPPED')

现在我知道这是因为test中的let test = await realm.createNewRealm('test');不是正确的javascript对象,而是代理对象。

我想知道的-如何检查代码中的内容或至少通过console.log查看密钥?

可以使用文档here,但是我确实注意到它并不总是更新的,因此我想避免上下文切换,因为每次都要查看它是user.id还是{{1 }}等...

那么有没有JS方法可以通过console.log将它们输出?我不介意它最终是字符串还是数组,只是为了能够按需查看各种领域对象的内容。

还有一个额外的问题,在领域本身的日志中,我可以看到user.identity,但是文档中没有任何内容说明我是否可以看到通过返回的对象。到目前为止,我正在通过调用Realm exists = true检查它是否是新的,有没有更简单的方法? (相关,因为这是我问主要问题的原因)

1 个答案:

答案 0 :(得分:0)

我没有正确的环境,但是请尝试使用此代码

 let test = await realm.createNewRealm('test');
 console.log(test.__proto__);

我认为您可以打印所有此类属性

for(let n in test)  console.log(n,' = ',test[n]);