SSPkrolik / nimongo

Pure Nim lang MongoDB driver
http://sspkrolik.github.io/nimongo
MIT License
101 stars 20 forks source link

Compile error #49

Closed ergofriend closed 5 years ago

ergofriend commented 5 years ago

Help me :( I did nim c -r test.nim

Ubuntu 18.04.1 LTS
gcc 7.3.0
nim 0.18.0
mongodb 4.02

test.nim

import oids

import nimongo/bson  ## MongoDB BSON serialization/deserialization
import nimongo/mongo ## MongoDB client

## Create new Mongo client
var m = newMongo().slaveOk(true).allowPartial(false)

## Connect to Mongo server
let connectResult = m.connect()

## Specify collection
let collection = m["db"]["collectionName"]

compile error

/home/ergoproxy/.nimble/pkgs/nimongo-0.1/nimongo/bson.nim(68, 5) Error: selector must be of an ordinal type

Problems

type mismatch: got <MongoBase>
but expected one of:
proc connect(am: AsyncMongo): Future[bool]
proc connect(m: Mongo): bool
expression: connect(m)

type mismatch: got <MongoBase, string>
but expected one of:
template `[]`(s: string; i: int): char
proc `[]`[I: Ordinal; T](a: T; i: I): T
proc `[]`[T](s: var openArray[T]; i: BackwardsIndex): var T
proc `[]`[T, U](s: string; x: HSlice[T, U]): string
proc `[]`(s: string; i: BackwardsIndex): char
proc `[]`[T, U, V](s: openArray[T]; x: HSlice[U, V]): seq[T]
proc `[]`[Idx, T](a: var array[Idx, T]; i: BackwardsIndex): var T
proc `[]`[T](s: openArray[T]; i: BackwardsIndex): T
proc `[]`[Idx, T](a: array[Idx, T]; i: BackwardsIndex): T
proc `[]`[Idx, T, U, V](a: array[Idx, T]; x: HSlice[U, V]): seq[T]
proc `[]`(bs: Bson; key: string): Bson
proc `[]`(bs: Bson; key: int): Bson
proc `[]`[T: Mongo | AsyncMongo](client: T; dbName: string): Database[T]
proc `[]`[T: Mongo | AsyncMongo](db: Database[T]; collectionName: string): Collection[T]
expression: [](m, "db")

type mismatch: got <T, string>
but expected one of:
template `[]`(s: string; i: int): char
proc `[]`[I: Ordinal; T](a: T; i: I): T
proc `[]`[T](s: var openArray[T]; i: BackwardsIndex): var T
proc `[]`[T, U](s: string; x: HSlice[T, U]): string
proc `[]`(s: string; i: BackwardsIndex): char
proc `[]`[T, U, V](s: openArray[T]; x: HSlice[U, V]): seq[T]
proc `[]`[Idx, T](a: var array[Idx, T]; i: BackwardsIndex): var T
proc `[]`[T](s: openArray[T]; i: BackwardsIndex): T
proc `[]`[Idx, T](a: array[Idx, T]; i: BackwardsIndex): T
proc `[]`[Idx, T, U, V](a: array[Idx, T]; x: HSlice[U, V]): seq[T]
proc `[]`(bs: Bson; key: string): Bson
proc `[]`(bs: Bson; key: int): Bson
proc `[]`[T: Mongo | AsyncMongo](client: T; dbName: string): Database[T]
proc `[]`[T: Mongo | AsyncMongo](db: Database[T]; collectionName: string): Collection[T]
expression: [](m["db"], "collectionName")
FedericoCeratto commented 5 years ago

nimongo is broken with Nim 0.19.0 as well

SSPkrolik commented 5 years ago

@FedericoCeratto looking into it

SSPkrolik commented 5 years ago

@FedericoCeratto Made nimongo fully 0.19.0 compilant with https://github.com/SSPkrolik/nimongo/commit/e425935b00a0ed696ad391b92f68b58755c155f4

FedericoCeratto commented 5 years ago

Thank you!