Как использовать мой маленький класс от ruby ​​на ruby ​​на рельсах

MongoDB не разрешает объединения, но вы можете использовать плагины для его обработки. Проверьте плагин mongo-join. Это лучшее, и я уже использовал его. Вы можете установить его с помощью npm прямо следующим образом npm install mongo-join. Вы можете проверить полную документацию с примерами .

(++) действительно полезный инструмент, когда нам нужно объединить (N) коллекции

(- ), мы можем применять условия только на верхнем уровне запроса

Пример

var Join = require('mongo-join').Join, mongodb = require('mongodb'), Db = mongodb.Db, Server = mongodb.Server;
db.open(function (err, Database) {
    Database.collection('Appoint', function (err, Appoints) {

        /* we can put conditions just on the top level */
        Appoints.find({_id_Doctor: id_doctor ,full_date :{ $gte: start_date },
            full_date :{ $lte: end_date }}, function (err, cursor) {
            var join = new Join(Database).on({
                field: '_id_Doctor', // <- field in Appoints document
                to: '_id',         // <- field in User doc. treated as ObjectID automatically.
                from: 'User'  // <- collection name for User doc
            }).on({
                field: '_id_Patient', // <- field in Appoints doc
                to: '_id',         // <- field in User doc. treated as ObjectID automatically.
                from: 'User'  // <- collection name for User doc
            })
            join.toArray(cursor, function (err, joinedDocs) {

                /* do what ever you want here */
                /* you can fetch the table and apply your own conditions */
                .....
                .....
                .....


                resp.status(200);
                resp.json({
                    "status": 200,
                    "message": "success",
                    "Appoints_Range": joinedDocs,


                });
                return resp;


            });

    });

2
задан Antarr Byrd 17 March 2019 в 19:28
поделиться

2 ответа

Вы можете добавить класс в каталог lib вашего приложения.

Затем в application.rb включите этот каталог

config.autoload_paths << "#{Rails.root}/lib"
0
ответ дан Antarr Byrd 17 March 2019 в 19:28
поделиться

Ваша библиотека

Вот небольшой рефакторинг вашего класса:

# Petite classe pour récupérer le jour et l'heure en Français
class JourFrancais
  JOURS = {"Monday"=>"Lundi", "Tuesday"=>"Mardi", "Wednesday"=>"Mercredi", "Thursday"=>"Jeudi", "Friday"=>"Vendredi", "Saturday"=>"Samedi", "Sunday"=>"Dimanche"}

  def self.jourj(time = Time.now)
    jour = JOURS[time.strftime('%A')]
    "Nous sommes le #{jour} " + time.strftime("%d/%m/%Y et il est %H:%M.")
  end
end 

puts JourFrancais.jourj
# "Nous sommes le Dimanche 17/03/2019 et il est 21:14."
puts JourFrancais.jourj(Time.local(2017, 3, 1, 12, 35))
# "Nous sommes le Mercredi 01/03/2017 et il est 12:35."

Нет необходимости в цикле, метод теперь возвращает строку, а не просто отображает ее, и вы можете указать время.

С помощью Rails i18n

В Rails вы можете скачать fr.yml - config/locales/ и добавить config.i18n.default_locale = :fr в config/application.rb.

Вам больше не нужна ваша библиотека!

I18n.l Time.now, format: :long
# => "dimanche 17 mars 2019 21h23"
0
ответ дан Eric Duminil 17 March 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: