0

我的任务是使用带有 CouchDB 和 Node.js 的 Apache Metamodel。尽管在谷歌中尝试过,但我找不到相同的例子。找到的示例似乎更适合 RDBMS!我可以获取连接到 couchdb、列出所有数据库、获取文档并插入文档和附件的示例吗?

4

1 回答 1

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();
  }
});

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

于 2016-02-02T10:18:02.613 回答