Hi, I run the same code multiple times in WSL(ubuntu 18.04), but the results are not consistent each time.
The Code is
package main
import (
"fmt"
"log"
"github.com/neo4j/neo4j-go-driver/neo4j"
)
func main() {
driver, err := neo4j.NewDriver("bolt://localhost:7687",
neo4j.BasicAuth("name", "password", ""))
if err != nil {
log.Fatalln(err)
}
session, err := driver.Session(neo4j.AccessModeWrite)
if err != nil {
log.Fatalln(err)
}
contractName := []string{"1A", "2B", "3C", "4D"}
// Create four node with name
for _, v := range contractName {
_, err := session.Run("CREATE(c:Contract{name:$name}) RETURN c.name", map[string]interface{}{
"name": v})
if err != nil {
fmt.Println("Error")
}
}
}
Some time I only get three node, sometime i get four node
But if I change code like this:
package main
import (
"fmt"
"log"
"github.com/neo4j/neo4j-go-driver/neo4j"
)
func main() {
driver, err := neo4j.NewDriver("bolt://localhost:7687",
neo4j.BasicAuth("name", "password ", ""))
if err != nil {
log.Fatalln(err)
}
session, err := driver.Session(neo4j.AccessModeWrite)
if err != nil {
log.Fatalln(err)
}
contractName := []string{"1A", "2B", "3C", "4D"}
// Create four node with name and print return
for _, v := range contractName {
result, err := session.Run("CREATE(c:Contract{name:$name}) RETURN c.name", map[string]interface{}{
"name": v})
if err != nil {
fmt.Println("Error")
}
for result.Next() {
fmt.Printf("Create Contract Node with name=%s\n", result.Record().GetByIndex(0).(string))
}
}
}
the logic is same, but i get four node everytime.
Please tell me what i do wrong.