gpt4 book ai didi

ruby-on-rails-3 - mongoid 'exists' 没有按预期工作

转载 作者:行者123 更新时间:2023-12-04 06:53:21 26 4
gpt4 key购买 nike

您好,我正在尝试查询,但给出了奇怪的结果。我正在尝试获取一个对象列表,其中不存在添加了 where 子句的字段。

第一步 where 子句:

ContentMirror.where(source: 'some_source').count

此查询返回 9984 条记录。some_source 有一个字段调用 vid_emded_obj 我知道有些是 nil 例如:

ContentMirror.find('50fff286781200986e000ae3')
=> #<ContentMirror _id: 50fff286781200986e000ae3, _type: nil, created_at: 2012-12-15 13:12:22 UTC, updated_at: 2013-01-29 12:10:23 UTC, deleted_at: nil, title: "Introduction to Polynomials", vid_emded_obj: nil, media_type: "video", source: "some_source", thumbnail_url: nil, md5: "459173975a7fb145b3ca8b99e1c2ae78">

所以我预计如果我这样做,至少 1 的计数会返回:

ContentMirror.where(source: 'some_source').exists(vid_emded_obj: false).count
=> 0

无法弄清楚为什么...

最佳答案

我相信 exists 会检查该属性是否存在,如果该属性的值为空,则返回 true。我会去寻找文档来确认:)

编辑:

所以,文档没有提到任何 exists(...)。只有一个存在?可以应用于标准的方法。

我觉得你应该做(伪代码,没试过)

ContentMirror.count(vid_embed_obj:nil, source: 'some_source')

ContentMirror.where(vid_embed_obj:nil, source: 'some_source').count

或再次

ContentMirror.excludes(vid_embed_obj:nil).where(source: 'some_source').count

关于ruby-on-rails-3 - mongoid 'exists' 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14602905/

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