• Recent
    • Tags
    • Popular
    • Register
    • Login

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    Best way to store attribute data about data sources

    How-To
    3
    11
    1.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • phildunlapP
      phildunlap
      last edited by

      Hi Phillip,

      i'm not sure if I understand your description of the table format. Can you show create table [your table here]; so that it's more explicit?

      But how does one query this database dynamically to get only the one row info I am looking for?

      It sounds like SQL is going to be the only answer, though perhaps there may be easier table schemas to work with than others.

      1 Reply Last reply Reply Quote 0
      • P
        Phillip Weeks
        last edited by

        Ok I am just wondering how others do this? Each datasource on our system represent a unique client location. We want to access the attributes stored in the mysql with row based queries on this db indexed on the DS's xid and return one row for each client/datasource xid. The values describe customer details, name, address, geospatial location data that enables the map api to construct and show map markers and info-windows.

        I suspect others are using jquery/ajax/php to retrieve the data. Am I missing something on how I can use Mango's SQL implementation to do this?

        0_1564757845256_0eed63da-da63-4533-8bc9-3f890ca7504c-image.png
        0_1564757560371_1ed49418-1783-4832-9bd2-068088d517ab-image.png

        1 Reply Last reply Reply Quote 0
        • Jared WiltshireJ
          Jared Wiltshire
          last edited by

          @Phillip-Weeks If you are attempting to retrieve this information on a dashboard then you should use the JSON store.

          Developer at Radix IoT

          1 Reply Last reply Reply Quote 0
          • P
            Phillip Weeks
            last edited by

            OK lets talk this out. We store all client information in one JSON file? Then load and search the file for the DS xid at runtime to get the associated values? If this is right can you show an example?

            1 Reply Last reply Reply Quote 0
            • phildunlapP
              phildunlap
              last edited by phildunlap

              Have you read the /ui/examples/utilities/json-store page?

              Edit: also the /ui/administration/json-store page

              1 Reply Last reply Reply Quote 0
              • P
                Phillip Weeks
                last edited by

                Awesome thanks guys didn't know these examples existed. I can definitely see the advantage of this format being a great help for sure and much simpler than the php/ajax/sql route no doubt.

                1 Reply Last reply Reply Quote 0
                • P
                  Phillip Weeks
                  last edited by Phillip Weeks

                  So I have a more specific question about using the directive
                  If we have one json file for each DS how do I seed values in the input boxes with stored data using the directive below and the current DSxid as the json file xid?
                  OK so this is retrieving the data.
                  Thanks again guys. Great solution!
                  <ma-json-store xid={{dataSourcesArray[0].xid}} item="ClientInfo" value="myValue"></ma-json-store>

                  0_1564782119957_6f57b3e1-2386-4b3b-b54b-20750036981b-image.png

                  1 Reply Last reply Reply Quote 0
                  • P
                    Phillip Weeks
                    last edited by Phillip Weeks

                    Everything works great when <ma-json-store> finds the JSON File matching the current DS xid however when the file is not found, it loads xid values from a previous JSON file creation??

                    These expressions have two different values for the dataSourcesArray[0].xid and dataSourcesArray[0].name?

                    <ma-json-store xid={{dataSourcesArray[0].xid}} item="ClientInfo" value="myValue"></ma-json-store>

                    If the JSON file with the xid doesn't exist this directive loads an xid value and name value in the New ClientInfo record as "DS_549018", "DS_549018",

                    yet {{dataSourcesArray[0].xid}} renders "DS_096207" and {{dataSourcesArray[0].name}} is "DRYAN" which is the correct xid and name for the DS in the designer.watchlist.

                    0_1564841075975_2c1affeb-c44b-40de-a545-14f754de3de8-image.png

                    1 Reply Last reply Reply Quote 0
                    • P
                      Phillip Weeks
                      last edited by Phillip Weeks

                      Problem resolved. So I discovered not all our data sources have identical point names and one of the common points I was using to identify its device name did not exist in certain DS so it reverted to the previous values in the data sources array.
                      This was nothing to so with the JSON store functionality and its all working as it should now . :) Thanks again guys.

                      1 Reply Last reply Reply Quote 1
                      • phildunlapP
                        phildunlap
                        last edited by

                        Certainly! Glad you figured it out!

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post