1, :sex => User::Male, :cou-6ren">
gpt4 book ai didi

ruby-on-rails - Mongoid 不在查询中

转载 作者:IT老高 更新时间:2023-10-28 13:06:09 30 4
gpt4 key购买 nike

我在使用 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

测试失败。我尝试使用 where(:id => {'$nid' => [2]}),但效果相同。

怎么了?如何在 mongoid 中使用“不在”状态?

PS,“第二个”没问题,“第一个”测试通过,因为 id=1

最佳答案

试试这个查询:

user = User.not_in(:_id => [2]).second

在 MongoDB 中,主键的名称为 _id。 Mongoid 试图变得友好,并通过在对象模型中将其别名为 id 来部分地向开发人员隐藏这一事实。但是当你进行查询时,它无法判断你想要主键_id还是一些完全普通的字段id

关于ruby-on-rails - Mongoid 不在查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10508336/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com