Vibe.D - 未定义的标识符 (Dlang)

Vibe.D - undefinded identifier (Dlang)

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

frontpage.d(15,3): Error: undefined identifier 'tmp', did you mean alias '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 收集处理程序的临时变量。

DLearn 相同的答案。

你需要 - 使用 Class 变量 - 使用类型而不是自动(这里是 Mongo 集合) - return 一个合适的 Json

看看 this interactive example - 并随意使用它。没有输出表示没有编译错误。