gpt4 book ai didi

ruby-on-rails - 数组中元素的 Mongoid 正则表达式

转载 作者:可可西里 更新时间:2023-11-01 10:35:41 26 4
gpt4 key购买 nike

我有两个模型,一个用户模型和一个嵌入式模型消息

class User
include Mongoid::Document
embeds_many :messages
end

class Message
include Mongoid::Document

field :keywords, :type => Array
end

我正在尝试做类似的事情:

u = User.last
u.messages.where(:keywords => /sometext/).first

但这不会返回任何内容,如果字段不是 Array 类型并且是 String,则正则表达式似乎可以正常工作。我怎样才能用 Mongoid 做这样的事情?

我还应该提到这个 Mongo 查询工作正常:

db.users.find({"messages.keywords" : /index/ })

最佳答案

如果你正在处理一个数组,你使用“in”。

 users = User.where("messages.keywords".in => [/sometext/])

如果我没记错的话应该可以。

亚历克斯

User.where("messages.keywords".in => [/sometext/]).each do |user|
message_collection_for_user = user.messages.where("keywords".in => [/sometext/])
end

现在您有了自己的消息并可以做任何事情,但是您无法为所有用户获取消息的集合,这种方式行不通。

关于ruby-on-rails - 数组中元素的 Mongoid 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6082629/

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