我有一个运行3.4的副本集,它由一个带有Mongoid5的Rails(4.2.7)应用程序使用(5.1.6)
我们越来越多地将"服务器描述已更改"发布到我们的日志记录系统,这些帖子根本没有指示更改(见下文).除了这些日志消息之外,平台运行正常.我在网上搜索过,找不到这可能意味着什么.以下是帖子的示例,每10秒钟发生一次.
D, [2016-12-14T07:49:53.882124 #20003] DEBUG -- : MONGODB | Server description for mongo2:27017 changed from 'secondary' to 'secondary'.
D, [2016-12-14T07:49:53.892663 #20003] DEBUG -- : MONGODB | Server description for mongo1:27017 changed from 'primary' to 'primary'.
D, [2016-12-14T07:50:03.875711 #20003] DEBUG -- : MONGODB | Server description for mongo3:27017 changed from 'secondary' to 'secondary'.
D, [2016-12-14T07:50:03.884555 #20003] DEBUG -- : MONGODB | Server description for mongo2:27017 changed from 'secondary' to 'secondary'.
D, [2016-12-14T07:50:03.894815 #20003] DEBUG -- : MONGODB | Server description …Run Code Online (Sandbox Code Playgroud) 我有一个正在构建的图书馆应用程序,它有3个课程。州,图书馆和书籍。该州有许多图书馆,而图书馆属于一个州。图书馆有很多书籍,而书籍则嵌入在图书馆中。但是,当我制作此auto_pick_job时,我们进入top_free_book并致电library.state。由于某种原因,library.state为nil。我希望能使状态恢复正常,但不会造成麻烦。.我调用和创建库的方式如下。因此,图书馆将始终属于现有状态。
state = Stats.find(x)
library = state.libaries.new(info)
library.save_optimistic!
Run Code Online (Sandbox Code Playgroud)
对于使用Struct的关系帮助,我也将不胜感激。
class State
has_many: libraries
end
class Library
belongs_to :state
end
class Book
embedded_in :library
def self.top_free_book(library_id)
library = Library.find(library_id)
library.state
end
AutoPickJob = Struct.new(:library_id) do
def perform
Book.top_free_book(library_id)
end
end
def queue_auto_pick
auto_pick_job = AutoPickJob.new(library_id)
Delayed::Job.enqueue(auto_pick_job)
end
end
Run Code Online (Sandbox Code Playgroud) 我的模型中有这个
index({company_name: 1, first_name: 1, last_name: 1 })
Model.text_search 'something'
给出这个错误
Mongo::Error::OperationFailure: text index required for $text query