- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
var stallone = {stallone:{first:'Sylvester',last:'Stallone',gender:'male'}};
var gibson = {gibson:{first:'Mel',last:'Gibson',gender:'male'}};
var movies = gun.get('movies')
movies.put(stallone).key('movies/action').key('movies/actors').key('movies/action/rambo') movies.put(gibson).key('movies/action').key('movies/actors').key('movies/action/roadwarrior').key('movies/comedy');
movies.get('movies/action').val();
returns {_: Object, stallone: Object, gibson: Object} Nice.
movies.get('movies/comedy').val();
returns {_: Object, stallone: Object, gibson: Object} Erm..What is Sly doing here? Not Nice!!
gun.get('movies/comedy').val();
returns {_: Object, stallone: Object, gibson: Object} same thing!!
这种行为会导致几个问题:
1)为什么要费心制作电影?我正在使用 var movies = gun.get('movies')
那么为什么我必须使用 'movies' 创建 key 又在里面? “电影”应自动添加前缀。
2)即使多个键可以工作,也不是很直观。如果我们能做到就好了 movies.put(gibson).keys([' Actor ','喜剧',' Action '])
.
注意:如果能在一个循环中完成,我会很高兴。但这不管用
var gibsonKeys = ['actors','action','comedy','dieHard']
gibsonKeys.forEach(function(key){
movies.put(gibson).key('movies/'+key);
// could be gun.put(gibson).key('movies/'+ key) as well
});
作为旁注...我知道键只是字符串而不是数据的真实路径 ;)
最佳答案
有几点需要注意:
movies.put(data).key('foo/bar')
正在将数据放在电影中,并使用“foo/bar”对电影进行键控。这是一个更新操作,而不是插入操作。所以从 put 返回的是相同的上下文(电影),而不是一些子文档(例如,您可以使用 movies.put(data).path('stallone')
访问该子文档).如果您想插入一条记录,有点像有一个表,请尝试使用 .set
- 查看这篇文章:https://github.com/amark/gun/wiki/graphs其中介绍了各种数据类型的一些示例。
实际上,对于 .set
这可能更好:https://medium.com/@sbeleidy/a-weekend-with-gun-a61fdcb8cc5d#.49nuy86gs
键不同于标签,看起来您可能想要这样的东西:https://github.com/PsychoLlama/labelmaker .
键就像键/值一样,你可以在某物上有多个键,但它们都指向同一个东西。上面的模块给你标签,它允许你拿多个不同的东西并用相同的标签标记它们。在引擎盖下,完成此操作的方式是它创建一个集合(见上文,将其视为无序列表),标签被键入,然后您可以迭代所有多个不同的项目在该列表中。那有意义吗?尽管允许 key 接受多个 key 可能仍然是个好主意
但是,上面的行为对于 key 是正确的,但看起来你想要使用的是一个像系统这样的标签,你可以用上面的模块添加到 GUN。
关于gun - 对枪支数据库中的键感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37761255/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!