Vibe.D - 未完成的标识符(Dlang)

时间:2017-07-23 15:04:25

标签: d vibed

我正在尝试创建简单的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集合处理程序的临时变量。

1 个答案:

答案 0 :(得分:2)

DLearn上的答案相同。

你需要 - 使用类变量 - 使用类型代替auto(这里是Mongo集合) - 返回一个合适的Json

看看this interactive example - 随意玩它。没有输出意味着没有编译错误。