0

我正在尝试创建简单的 REST api,但是当我尝试编译我的代码时,我得到了

frontpage.d(15,3):错误:未定义的标识符“tmp”,您的意思是别名“cmp”吗?

这是我的代码:

module service.frontpage;

import vibe.d;

@path("/api")
interface IFrontPageAPI
{
  Json getHome();
}

class FrontPageAPI : IFrontPageAPI
{


  this(auto tmp) 
  {
    auto collect = tmp;
  }

  Json getHome()
  {
    logInfo("Getting HomePage from DB");  
    Bson query = Bson(["_id" : Bson("homepage")]);
    auto result = collect.find(query);


    logInfo("Iterating results...");
    foreach (i, doc; result.byPair)
    logInfo("Item %d: %s", i, doc.toJson().toString());

    return result.toJson();
  }
}

有人可以帮我吗?tmp 是传递 mongoDB 集合处理程序的临时变量。

4

1 回答 1

2

与DLearn上的答案相同。

你需要 - 使用类变量 - 使用类型而不是自动(这里是 Mongo 集合) - 返回一个正确的 Json

看看这个交互式示例- 并随意使用它。没有输出意味着没有编译错误。

于 2017-07-23T16:27:33.043 回答