ruby-on-rails - ruby mongoDB insert_many - 成功消息但没有插入
问题描述
我正在尝试使用MongoDB 的 Ruby 驱动程序执行 insert_many,但它不起作用。任何帮助,将不胜感激。
这是我的示例模型:
class User
include Mongoid::Document
include Mongoid::Timestamps
field :message
end
MongoDB Rails 代码:
client = Mongo::Client.new('mongodb://127.0.0.1:27017/development')
collection = client[:user]
u = Hash.new
u['message'] = 'hi'
documents = []
documents << u
result = collection.insert_many(documents)
#<Mongo::BulkWrite::Result:0x00007fa6ed4e99b8 @results={"n_inserted"=>1, "n"=>1, "inserted_ids"=>[BSON::ObjectId('5e9ac4c6c40dc6a955465a8f')]}>
当我验证插入时,它似乎可以工作,但是当我查询模型时,没有数据:
result
#<Mongo::BulkWrite::Result:0x00007fa6ed4e99b8 @results={"n_inserted"=>1, "n"=>1, "inserted_ids"=>[BSON::ObjectId('5e9ac4c6c40dc6a955465a8f')]}>
User.count
0
有什么建议么?
解决方案
我终于弄清楚了这个问题。它是集合本身。我需要做的就是获取集合,然后我可以应用 MongDB Ruby Driver 方法:
user_collection = User.collection
推荐阅读
- aws-lambda - 如果在 VPC 中,Lambda 函数尝试连接到 RDS 会超时,但如果在 VPC 之外则不会
- python - 我怎么把它变成一个函数?
- powershell - 尝试使用 cpanm 安装 perl 模块,失败
- javascript - 有没有办法将字符串评估为 HTML/JS 中的数学表达式?
- forms - 在 PHP While 循环中定位单个表单实例/计数器
- laravel - laravel 护照自定义值 user_id 在表 oauth_access_tokens
- dolphindb - 为什么“round”函数在连接字符串时不起作用?
- junit4 - Spring Contract 没有达到基类上的 @Before 方法
- c - 为什么在尝试访问 struct 成员时会出现段错误?
- c - 在 Windows 上为 Linux 开发 C 的最佳方法是什么?