Сравните отдельные столбцы в Mongoid - PullRequest
0 голосов
/ 06 февраля 2012

Я ищу mongoid, эквивалентный: Как выбрать сравнение двух столбцов как одного столбца в Oracle

Не могу найти документацию или примеры для сравнениястолбцы в том же запросе.Разве это не возможно в Mongoid?

1 Ответ

1 голос
/ 06 февраля 2012

Нет, вам нужно перейти к драйверу mongodb ruby, чтобы сделать это, и он может быть очень медленным, поскольку это запрос javascript, который не будет использовать индекс:

Model.collection.find_one({"$where" => 'this.name == this.name2'})

Что эквивалентнок третьей команде оболочки здесь.:

> db.collection.insert({name: "awesome", name2: "awesome"})
> db.collection.insert({name: "awesome", name2: "awesome2"})
> db.collection.find('this.name == this.name2')
{ "_id" : ObjectId("xxx"), "name" : "awesome", "name2" : "awesome" }
> (line shown to signify end of results)

Примечание: если документ не имеет ключа name, и тот же документ также не имеет ключа name2, это вернет true, потому что null == null.

...