Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Waterline-Sails.js-MongoDB中找不到使用自引用关联_Node.js_Mongodb_Tree_Sails.js_Waterline - Fatal编程技术网

Node.js 在Waterline-Sails.js-MongoDB中找不到使用自引用关联

Node.js 在Waterline-Sails.js-MongoDB中找不到使用自引用关联,node.js,mongodb,tree,sails.js,waterline,Node.js,Mongodb,Tree,Sails.js,Waterline,我正在尝试使用Waterline中的关联创建一个树结构,它最终连接到MongoDB数据库。树编号的定义为: TreeNode.js module.exports = { attributes: { name: 'string', childrenCategory: 'string', parent: { model: 'TreeNode' }, children: {

我正在尝试使用Waterline中的关联创建一个树结构,它最终连接到MongoDB数据库。树编号的定义为:

TreeNode.js

module.exports = {
    attributes: {
        name: 'string',
        childrenCategory: 'string',
        parent: {
            model: 'TreeNode'
        },
        children: {
            collection: 'TreeNode',
            via: 'parent'
        }
    }
};
这就是我的树结构。此节点引用自身具有同一节点的多个子节点和唯一的父节点,同样也是同一节点的子节点。 填充这些树似乎是可行的。但是,尝试查找具有给定“父节点”的节点不会。以下查询没有给出任何结果:

TreeNode.find().where({parent: someId}).exec(function (err, r) {}
有什么想法吗?还有,你觉得这个树结构怎么样?
谢谢

看看这篇文章:


如果您尝试使用
objectid
作为父对象的类型,是否会有所帮助?

查询与您显示的数据结构不匹配。您的文档中的父ID存储在哪里?请查看回复中的感谢信息。Sebastina,因为“父级”是对同一文档(TreeNode)的引用,id将是主文档的id。我没有声明“id”,因为它是自动生成的,所以应该在那里。这篇文章的区别在于,它们使用了两个不同文档之间的引用,而这是对其自身的引用。我不知道这是否可能真的,我并没有在水线上发现任何关于树木的东西。这绝对有效。您能在创建TreeNode实例的地方发布一些代码吗?也许问题就在那里。请记住,仅将
子节点
添加到实例不会设置这些节点的
父节点
属性;您必须手动设置…反之亦然。。。