Mar*_*sov 18 ruby ruby-on-rails mongodb nosql mongoid
我对mongoid有些麻烦:
test "Test candidate" do
User.create(:id => 1, :sex => User::Male, :country => 1, :city => 1)
User.create(:id => 2, :sex => User::Female, :country => 1, :city => 1)
User.create(:id => 3, :sex => User::Female, :country => 1, :city => 1)
user = User.not_in(:id => [2]).second
assert_not_equal(user.id, 2)
end
Run Code Online (Sandbox Code Playgroud)
测试失败.我曾尝试使用where(:id => {'$ nid'=> [2]}),但它具有相同的效果.
怎么了?如何使用mongoid"not in"条件?
PS,"秒"是好的,通过"第一次"测试,因为id = 1
Ser*_*sev 38
试试这个查询:
user = User.not_in(:_id => [2]).second
Run Code Online (Sandbox Code Playgroud)
在MongoDB主键中有名称_id
.Mongoid尝试友好,并通过id
在对象模型中对其进行别名来部分隐藏开发人员的这一事实.但是当你进行查询时,它无法判断你是想要主键_id
还是某些完全普通的字段id
.
Pus*_*abh 11
user = User.where(:id.nin => [2,3,4,5])
Run Code Online (Sandbox Code Playgroud)
这是根据mongoid官方文档:http://mongoid.org/en/origin/docs/selection.html
归档时间: |
|
查看次数: |
12856 次 |
最近记录: |