Comments (5)
There's no support for this yet. Shouldn't be too hard to add though.
from bolthold.
i would really like to be able to do this.
For me, the intent is to allow others to write queries without recompiling.
I assume that the go types already need to be in the code though ?
from bolthold.
Yeah the types would have to be in code. The way I'm picturing this is a Function call QueryFromJSON or something, and you'd pass in something like this:
{
"field": "Name",
"op": "eq",
"value": "John",
"and": {
"field": "ID",
"op": "ge",
"value": 3
},
"or": {
"field": "Death",
"op": "lt",
"value": {
"field": "Birth",
}
}
}
from bolthold.
hey @timshannon. That looks like a good start.
Just as a side thought, I was wondering if its possible to write a query in golang and then just deserialize it out as JSON ? This would mean that you could gen the json as part of the build and then run the JSON as tests. Its also means that when you add new query predicates of your own the system is self adapting. If this is not possible its fine, but it was more of an idea.
Edit: This reminds me a lot of Bleve and the JSON based blast.
https://github.com/mosuka/blast
Blast wraps bleve so that you can just use JSON to query bleve. It also nicely manages the cluster of bleve indexes spread around.
He uses GRPC to expose everything.
The reason i am bringing it up is because its a nice model for BoltHold maybe if you every wanted to expose it as a service.
from bolthold.
@timshannon found this
https://github.com/Cistern/cistern/blob/master/internal/query/query.go
the queries as serialisable :)
Might be useful.
from bolthold.
Related Issues (20)
- Is there a way to iterate from end of bucket using forEach HOT 10
- Query Builder approach HOT 6
- 如何查询某个bucket的全部数据 HOT 1
- his error occurs when fetching data from a specific bucket HOT 8
- readme.md: boltholdIndex, boltHoldIndex HOT 4
- Upsert with custom Storer delivers inconsistent value type to index function HOT 2
- Multiple calls to Delete for non-existing key result in EOF error instead of ErrNotFound HOT 2
- Add method to wrap existing bolt instance HOT 1
- Q: limit query without conditions HOT 2
- Unique index
- Can't sort by PK HOT 1
- Add support for batch inserts HOT 2
- Distinct constraint HOT 2
- Get vs FindOne HOT 9
- Web UI
- Aggregate query on nested struct HOT 2
- Constraint pairs HOT 1
- Slow write speeds HOT 7
- Initialise read only store HOT 2
- foreach can't use, when the key's type is uint64 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bolthold.