func (c *Collection) QueryId(id Id) (*Result, error) {
	return c.Query(&id)
}
QueryId returns a Result object that will exactly deliver
the object with the requested ID.
package epos
import (
	"fmt"
	"strconv"
)
func (c *Collection) Query(q Condition) (*Result, error) {
	fields := getFields(q)
	for _, field := range fields {
		_, ok := c.indexes[field]
		if !ok {
			return nil, fmt.Errorf("no index on field '%s'", field)
		}
	}
	ids := q.match(c.indexes)
	return newResult(c, ids), nil
}