CouchDB的Apache元模型示例

时间:2016-01-18 10:04:16

标签: node.js couchdb apache-metamodel

我的任务是将Apache Metamodel与CouchDB和Node.js一起使用。 尽管在谷歌尝试它,我无法得到相同的例子。 发现的例子似乎更适合RDBMS! 我可以获得连接到couchdb的示例,列出所有dbs,获取文档并插入文档和附件吗?

1 个答案:

答案 0 :(得分:0)

假设你有这个文件:

{
 "name": "John Doe",
 "address:" {
  "street": "21 3rd street"
 },
 "age": 42
}

然后你可以这样查询:

CouchDbDataContext dc = ...;
DataSet ds = dc.query().from("my_database").select("name", "address", "age").execute();
while (ds.next()) {
  Row r = ds.getRow();
  String name = (String) r.getValue(0);
  Map<String,?> address = (Map<String, ?>) r.getValue(1);
  Number age = (Number) r.getValue(2);
}
ds.close();

然后插入:

dc.executeUpdate(new UpdateScript() {
  public void run(UpdateCallback cb) {
    cb.insertInto("my_database").value("name", "Jane Doe").value("age", 43).execute();
  }
});

它主要适用于RDBMSes吗?我不会这么说。但Apache MetaModel尝试在所有数据存储区类型上建立统一视图是正确的,包括将它们映射到表/列/行抽象,这显然是对CouchDB之类的解释。当然,优点是上面的代码片段也适用于CSV文件,SQL表或MetaModel支持的任何其他数据存储类型。