小编Chr*_*ies的帖子

如何使用C#MongoDB驱动程序检索字段子集?

我在世界各地搜索过,似乎无法找到答案.

我如何在C#中执行此操作:

// retrieve ssn field for documents where last_name == 'Smith':
db.users.find({last_name: 'Smith'}, {'ssn': 1});
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# mongodb

16
推荐指数
2
解决办法
9286
查看次数

如何使用HashMap作为累加器进行折叠?

此代码有效:

let stdin = std::io::stdin();
let mut rdr = csv::Reader::from_reader(stdin);
let mut hmap = HashMap::<String, u64>::new();

rdr.records()
    .map(|r| r.unwrap())
    .fold((), |_, item| {
        // TODO: Is there a way not to have to copy item[col] every time?
        let counter = hmap.entry(item[col].to_string()).or_insert(0);
        *counter += 1;
    });
Run Code Online (Sandbox Code Playgroud)

此代码失败并显示消息:"无法移出,acc因为它是借用的"

let stdin = std::io::stdin();
let mut rdr = csv::Reader::from_reader(stdin);
let hmap = rdr.records()
    .map(|r| r.unwrap())
    .fold(HashMap::<String, u64>::new(), |mut acc, item| {
        // TODO: Is there a way not to have to copy …
Run Code Online (Sandbox Code Playgroud)

rust

10
推荐指数
1
解决办法
1972
查看次数

如何模拟MongoDB对象来测试我的数据模型?

我正在使用以下逻辑(MOQ)来尝试模拟MongoDB csharp驱动程序对象:

var svr = new Mock<MongoServer>(new MongoServerSettings());
var db = new Mock<MongoDatabase>(svr.Object, new MongoDatabaseSettings("hf_test", 
new MongoCredentials("hf_test", "hf_pass"), GuidRepresentation.Standard,
                                                 SafeMode.False, false));
Run Code Online (Sandbox Code Playgroud)

当我调用db.Object时,MOQ尝试创建我的模拟MongoDatabase的实例,但它失败并带有空引用异常.

注意:我正在考虑创建一个IMongoCollection接口,并将MongoCollection包装在它的实例中.然后,我可以简单地嘲笑......但这似乎是一大堆不必要的工作.

moq mongodb c#-4.0 mongodb-.net-driver

6
推荐指数
1
解决办法
6383
查看次数

Elixir相当于C#,Java,C++枚举

在C#中,我可能会声明一个这样的枚举:

enum QuestionType { Range, Text };
Run Code Online (Sandbox Code Playgroud)

我如何在Elixir中这样做?我想做的是能够模式匹配这样的东西:

def VerifyAnswer(QuestionType.range, answer) do
  assert answer >= 0 && answer <= 5
end
Run Code Online (Sandbox Code Playgroud)

或类似的东西,其中QuestionType.range是一个数字常量,因此它可以有效地存储在DB中或序列化为int到JSON.

elixir

6
推荐指数
1
解决办法
1416
查看次数

玩框架2.0演进并创建触发器

我一直试图使用Play 2.0.3创建此触发器.如果我手动运行它,它在MySQL中运行得非常好,但是当尝试从Play运行它时它会失败.

delimiter |
    create trigger company_updated before update on company
        for each row begin
            set new.updated = CURRENT_TIMESTAMP;
        end;
    |
delimiter ;
Run Code Online (Sandbox Code Playgroud)

它抛出的错误是这样的:

我们收到以下错误:您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'delimiter |附近使用正确的语法 在尝试运行此SQL脚本时,在第1行[ERROR:1064,SQLSTATE:42000]的每一行的公司更新之前创建触发器company_updated:

playframework-2.0

4
推荐指数
1
解决办法
1557
查看次数