Hi David, Is it in latest 3.0.8? I tried the query in Studio and it seems to work fine
Thanks Luigi Il giorno lun 8 ott 2018 alle ore 04:25 <[email protected]> ha scritto: > When executing a query just like the one below, but on a Document class > rather than a vertex class, using the JSON list bracket notation results in > the following error: > > *orientdb {db=foo}> insert into inspection_reports set extension="pdf", > filehash="somehash", notes=[{"@type":"d", "content":"some content", > "date":"datestring"}]* > *Error: com.orientechnologies.orient.core.sql.OCommandSQLParsingException: > Error parsing query:* > *insert into inspection_reports set extension="pdf", filehash="somehash", > notes=[{"@class":"note", "@type":"d", "content":"some content", > "date":"datestring"}* > > *Encountered " "[" "[ "" at line 1, column 80.* > > This is from the console while attached to remote:localhost. *notes *is > an *embeddedlist *type within *inspection_reports* > > I've tried more than a few permutations of @class, @type, with brackets, > without brackets. Any got any pointers? > > On Wednesday, July 11, 2018 at 2:32:08 AM UTC-4, Luigi Dell'Aquila wrote: >> >> Hi, >> >> When you have an embedded list property, you have to pass a list to make >> it work. You are passing a single document now. >> Please try the following: >> >> CREATE VERTEX Profile SET name = "John", phone = [{ "@type":"d", "number" >> : "212" }] >> >> Thanks >> >> Luigi >> >> >> Il giorno mer 11 lug 2018 alle ore 06:17 Paarek <[email protected]> ha >> scritto: >> >>> >>> Hi! I am using OrientDB3.0.2 and need to use embeddedList >>> (or embeddedSet) >>> >>> I tried following but does not work, not sure why. Any help is much >>> appreciated. >>> >>> -------------- >>> Schema: >>> create class Phone EXTENDS V >>> create property Phone.number String >>> >>> create class Profile EXTENDS V >>> create property Profile.name String >>> create property Profile.phone embeddedList Phone >>> >>> -------------- >>> CREATE VERTEX Profile CONTENT { "name" : "John", "phone" : {"@type":"d", >>> "number" : "212" }} >>> CREATE VERTEX Profile SET name = "John", phone = { "@type":"d", "number" >>> : "212" } >>> INSERT INTO Profile (name, phone) VALUES ("John", { "@type": "d", >>> "number": "212", "@version": 0 }) >>> >>> Results In: >>> >>> Error: com.orientechnologies.orient.core.exception.OValidationException: >>> The field 'Profile.phone' has been declared as EMBEDDEDLIST but an >>> incompatible type is used. Value: 212 >>> >>> >>> >>> -- But following Works because profile has no address property -- >>> >>> INSERT INTO Profile (name, address) VALUES ('John', { "@type": "d", >>> "number": "212", "@version": 0 }) >>> >>> -------------- >>> >>> I tried the same with Java but also getting exception as follows: >>> >>> >>> com.orientechnologies.orient.core.exception.OValidationException: The >>> field 'Profile.phone' has been declared as EMBEDDEDLIST but an incompatible >>> type is used. >>> at >>> com.orientechnologies.orient.core.record.impl.ODocument.validateEmbedded(ODocument.java:814) >>> at >>> com.orientechnologies.orient.core.record.impl.ODocument.validateField(ODocument.java:601) >>> at >>> com.orientechnologies.orient.core.record.impl.ODocument.validate(ODocument.java:2364) >>> at >>> com.orientechnologies.orient.core.db.document.ODatabaseDocumentAbstract.saveInternal(ODatabaseDocumentAbstract.java:2039) >>> at >>> com.orientechnologies.orient.core.db.document.ODatabaseDocumentAbstract.save(ODatabaseDocumentAbstract.java:2019) >>> at >>> com.orientechnologies.orient.core.db.document.ODatabaseDocumentAbstract.save(ODatabaseDocumentAbstract.java:84) >>> at >>> com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:2108) >>> at >>> com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:2099) >>> at >>> com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:63) >>> at >>> com.sqad.repository.OrientDBOperationsImpl.updateVertexProperty(OrientDBOperationsImpl.java:330) >>> >>> -- >>> >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "OrientDB" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >>> -- > > --- > You received this message because you are subscribed to the Google Groups > "OrientDB" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
