Программисты JavaScript могут использовать String.prototype.sprintf по адресу https://github.com/ildar-shaimordanov/jsxt/blob/master/js/String.js . Ниже приведен пример:
var d = new Date();
var dateStr = '%02d:%02d:%02d'.sprintf(
d.getHours(),
d.getMinutes(),
d.getSeconds());
user_ids = User.only(:_id).where(:foo => :bar).map(&:_id)
Post.where(:user_id.in => user_ids)
Решение выше работает хорошо, когда количество пользователей невелико. Но это потребует много памяти, пока есть тысячи пользователей.
User.only(:_id).where(:foo => :bar).map(&:_id)
создаст список объектов User с nil в каждом поле, кроме id.
Решение (для монгоида 2.5):
User.collection.master.where(:foo => :bar).to_a.map {|o| o['_id']}
Или просто:
arr = ['id1', 'id2', 'id3']
User.find(arr)