小编Den*_*hin的帖子

如何用孩子建立一个Mongoid对象的json对象?

我有两个简单的课程

class Band
  include Mongoid::Document
  field :name, type:String
  has_many :members
end

class Member
  include Mongoid::Document
  field :name, type: String
  belongs_to :band
end
Run Code Online (Sandbox Code Playgroud)

在创建两个对象以进行测试之后

Band.create(title: 'New Band')
Band.members.create(name: 'New Member')
Run Code Online (Sandbox Code Playgroud)

我得到了下一个数据库状态:

> db.bands.find()
{ "_id" : ObjectId("..."), "title" : "New Band" }
> db.members.find()
{ "_id" : ObjectId("..."), "name" : "New Member", "band_id" : ObjectId("...") }
Run Code Online (Sandbox Code Playgroud)

当我尝试构建Band对象的json对象时,我得到的数据没有子级:

{"_id":"...","title":"New Band"}
Run Code Online (Sandbox Code Playgroud)

但是我需要这样的东西:

{"_id":"...","title":"New Band", "members" : {"_id":"...","title":"New Member"}}
Run Code Online (Sandbox Code Playgroud)

如何与孩子建立json?

ruby mongoid

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

如何合并两个priority_queue?

我有两个priority_queuefloat这样的:

std::priority_queue<float> queue1;
std::priority_queue<float> queue2;
Run Code Online (Sandbox Code Playgroud)

我需要合并它们。但是 STLmerge算法不允许priority_queue直接使用:

merge(
  queue1.begin(), queue2.end(),
  queue2.begin(), queue2.end(),
  queue1
);
Run Code Online (Sandbox Code Playgroud)

priority_queue没有不使用辅助数据结构的方式进行合并?

c++ c++11

3
推荐指数
2
解决办法
3932
查看次数

在Rust中模仿克隆特征

我有一个简单的链表类型和它的实现Clone:

#[deriving(Show)]
enum List {
    Cons(int, Box<List>),
    Nil,
}

impl Clone for List {
    fn clone(&self) -> List {
        match *self {
            Cons(val, ref rest) => Cons(val, rest.clone()),
            Nil => Nil,
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它按预期工作.但是,如果我做我自己的MyClone特质与 相同签名 作为的Clone,我得到一个错误:

trait MyClone {
    fn my_clone(&self) -> Self;
}

impl MyClone for List {
    fn my_clone(&self) -> List {
        match *self {
            Cons(val, ref rest) => Cons(val, rest.my_clone()),
            Nil => Nil,
        }
    }
}

.../src/main.rs:23:46: 23:61 error: mismatched …
Run Code Online (Sandbox Code Playgroud)

pointers rust

3
推荐指数
1
解决办法
479
查看次数

如何获取模板模板类的参数

我有类似的类型Type<Param>.我如何在c ++ 11中检索Param?

可能是这样的:

// I know it's not correct but it conveys the idea very well
template
<
   template <class Param> class Type 
>
struct GetParam
{
   typedef Param Result;
};

// e.g.
typedef GetParam<std::vector<double>>::Result X; // must return double
typedef GetParam<std::list<double>>::Result X; // double
typedef GetParam<std::vector<std::list<double>>::Result X; // std::list<double>
Run Code Online (Sandbox Code Playgroud)

c++ templates metaprogramming c++11

2
推荐指数
1
解决办法
155
查看次数

如何正确配置mongoid用于开发和登台环境?

我在本地机器上创建了两个开发环境,并在heroku上创建了一个.

在这里我的'mongoid.yml':

development:
  sessions:
    default:
      database: mydb_development
      hosts:
        - localhost:27017
staging:
  sessions:
    default:
      database: mydb_staging
      uri: <%= ENV['MONGOLAB_URI'] %>
Run Code Online (Sandbox Code Playgroud)

Mongoid在本地机器上正常工作,但在heroku部署之后我接下来的错误:

/app/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.14/lib/mongoid/config/validators/session.rb:81:in `validate_session_uri':  (Mongoid::Errors::MixedSessionConfiguration)
2012-12-25T10:12:44+00:00 app[web.1]: Problem:
2012-12-25T10:12:44+00:00 app[web.1]:   Both uri and standard configuration options defined for session: 'default'.
2012-12-25T10:12:44+00:00 app[web.1]: Summary:
2012-12-25T10:12:44+00:00 app[web.1]:   Instead of simply giving uri or standard options a preference order, Mongoid assumes that you have made a mistake in your configuration and requires that you provide one or the other, but not both. The options that …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails heroku mongoid

2
推荐指数
1
解决办法
759
查看次数

如何使用shoulda的消息测试mongoid模型验证?

我有一个带验证的模型,如下所示:

class Order
  include Mongoid::Document

  field :first_name, type: String
  field :last_name, type: String

  validates_presence_of :first_name, :message => "Can't be empty"
  validates_presence_of :last_name, :message => "Can't be empty"
end
Run Code Online (Sandbox Code Playgroud)

我描述模型rspec思想机器人shoulda:

describe Order do
  # validations
  it { should validate_presence_of(:first_name) }
  it { should presence_of(:last_name) }
end
Run Code Online (Sandbox Code Playgroud)

但是我失败了:

Failures:

  1) Order 
     Failure/Error: it { should validate_presence_of(:first_name) }
       Expected errors to include "can't be blank" when first_name is set to nil, got errors: ["first_name Can't be empty (nil)", …
Run Code Online (Sandbox Code Playgroud)

rspec shoulda mongoid

2
推荐指数
1
解决办法
1011
查看次数

如何按日期在范围之外查询文档?

我有一个集合 db.events

Mongodb允许按日期范围进行查询(date0 <date1)

db.events.find({date:{$ gt:date0,$ lt:date1}})

它工作正常但我还需要使用超出范围的日期进行查询,例如在查询中

db.events.find({date:{$ or:[{$ lt:date0},{$ gt:date1}]})

但mongodb不允许上次查询"错误:无法使用$或使用日期."

那么,如何进行此类查询?

mongodb

2
推荐指数
1
解决办法
757
查看次数

如何实现盒装值的迭代器?

我有一个结构,通过next特征从方法给出数字Iterator:

struct Numbers{
    number: usize,
    count: usize
}

impl Iterator for Numbers {
    type Item = usize;

    fn next(&mut self) -> Option<Self::Item> {
        if self.count > 0 {
            self.count -= 1;
            return Some(self.number);
        }

        return None;
    }
}

fn main(){
    let numbers = Numbers{
        number: 777,
        count: 10
    };

    for n in numbers {
        println!{"{:?}", n};
    }
}
Run Code Online (Sandbox Code Playgroud)

它适用于usize类型.但是Box类型的相同代码会产生编译错误:

struct Numbers{
    number: Box<usize>,
    count: usize
}

impl Iterator for Numbers {
    type Item = …
Run Code Online (Sandbox Code Playgroud)

rust

2
推荐指数
1
解决办法
119
查看次数

如果数组是 ObservableObject 的成员,如何绑定数组和 List?

我想创建MyViewModel它从网络获取数据然后更新结果数组。MyView应该订阅$model.results并显示List填充结果。

不幸的是,我收到一个关于“没有更多上下文的表达式类型不明确”的错误。

如何正确使用ForEach这种情况?

import SwiftUI
import Combine

class MyViewModel: ObservableObject {
    @Published var results: [String] = []

    init() {
        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
            self.results = ["Hello", "World", "!!!"]
        }
    }
}

struct MyView: View {
    @ObservedObject var model: MyViewModel

    var body: some View {
        VStack {
            List {
                ForEach($model.results) { text in
                    Text(text)
                 // ^--- Type of expression is ambiguous without more context
                }
            }
        }
    }
}

struct …
Run Code Online (Sandbox Code Playgroud)

swift swiftui combine swiftui-list

2
推荐指数
1
解决办法
1790
查看次数

为什么javascript不按数字顺序排序数字数组?

我在Javascript中面对数字数组的奇怪排序结果.例如排序[1,2,10,20,100,200]的结果:

> [1, 2, 10, 20, 100, 200].sort()
[ 1, 10, 100, 2, 20, 200 ]
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

似乎数组排序不能直接用于排序数值数组?

javascript arrays sorting

0
推荐指数
1
解决办法
2109
查看次数