标签: minimongo

meteor mongo驱动程序可以处理$ each和$ position运算符吗?

我使用流星包进行流星应用程序更新.我想重新定位mongo文档数组中的项目.为了实现这一点,我$pull把它从数组中,然后根据mongoDB文档$push在特定index位置.

MyCollection.update({_id: my_doc.id},
        {
          $push:
          {
            my_array:
            {
              $each:[my_item.id],
              $position:index
            }
          }
        }
      )
Run Code Online (Sandbox Code Playgroud)

Meteor/Mongo抛出以下错误:

更新失败:MongoError:无法规范化查询:BadValue未知顶级运算符:$ each

我首先实现了这个客户端.我认为它因为最小限制而无效.

我写了一个方法来处理这个服务器端,但我最终得到了同样的错误.

这个请求有什么问题,meteor可以处理$ each运算符吗?


编辑:我试图直接插入robomongo,它的工作原理.Mongo版本,当键入时db.version()返回2.6.7


*EDIT2:我没想到它所以我之前没有检查过:更新工作,无论是$pull$push.但是,即使数据实际更新,我仍然会收到错误.


*编辑:这是一些示例数据:

{
    "_id" : "oSNrpgAAu8BuznvD6",
    "name" : "tynhjderjye",
    "description" : "",
    "notes" : "",
    "display_notes" : false,
    "keywords" : [
        ""
    ],
    "owner" : "mA5Y7LBCoRyeSDkaG",
    "createdAt" : ISODate("2015-10-27T13:59:06.083Z"),
    "createdBy" : "C3i9oj4eapyttHZj6",
    "contributors" : [
        "C3i9oj4eapyttHZj6"
    ],
    "medias" : [
        "TcFqermNY4y5cjBG3",
        "dbkNN2rxXJXth8urw",
        "jML4JKkRoKxx8sLwu",
        "LEWYsnPrXRSH6MPkX" …
Run Code Online (Sandbox Code Playgroud)

mongodb meteor minimongo

17
推荐指数
1
解决办法
421
查看次数

Mongo地理空间索引和流星

我想知道是否可以使用meteorodb地理空间索引与Meteor架构.

Minimongo没有实现地理空间索引,但这是否意味着我们不能在服务器端使用这个mongo功能?

例如,使用todos应用程序,如果我们在待办事项上使用位置,是否可以执行以下操作:

// Publish complete set of lists to all clients.
Meteor.publish('todos', function (lon,lat) {
   return Todos.find({loc: {$near:[lon,lat]}}).limit(2);
});
Run Code Online (Sandbox Code Playgroud)

在客户端:

Meteor.subscribe('todos', lon, lat );
Run Code Online (Sandbox Code Playgroud)

mongodb meteor minimongo

13
推荐指数
1
解决办法
4189
查看次数

从大量记录的最小化查询卡住并挂起浏览器

我正在为角度流星建立一个管理页面.

我已经发布了一个集合中的所有记录:" posts "并且已经订阅了前端的所有记录.

$meteor.subscribe('posts');
Run Code Online (Sandbox Code Playgroud)

在控制器中,如果我从minimongo中选择所有记录的游标,它可以正常工作:

$scope.posts = $meteor.collection(Posts);
Run Code Online (Sandbox Code Playgroud)

但我希望显示分页,所以我想要一次有限的记录,如:

$scope.posts = $meteor.collection(function(){

        return Posts.find(

            {}, 
            {
                sort:   {'cDate.timestamp': -1},
                limit:  10
            }
        );
    });
Run Code Online (Sandbox Code Playgroud)

它在minimongo中遇到了查询.浏览器挂起了.

" posts "集合仅包含500条记录.当我有200条记录时它工作正常.

任何人都可以给我一个关于我的代码和概念错误的想法吗?

编辑:

好的!当我从查询中评论$ sort行时,它运行正常,如下所示:

$scope.posts = $meteor.collection(function(){

            return Posts.find(

                {}, 
                {
                    //sort:   {'cDate.timestamp': -1},
                    limit:  10
                }
            );
        });
Run Code Online (Sandbox Code Playgroud)

但我需要对记录进行排序.那我现在该怎么办?

编辑:

还尝试在sort属性中添加索引,如下所示:

db.Posts.ensureIndex({"cDate.timestamp": 1})
Run Code Online (Sandbox Code Playgroud)

还是同样的问题.

publish-subscribe angularjs meteor minimongo angular-meteor

10
推荐指数
1
解决办法
441
查看次数

如何将SlickGrid与Meteor.js反应式集合集成?

SlickGrid专注于显示表或数组中的数据,这很棒.Meteor专注于操纵数据,但使用Minimongo.SlickGrid如何与Minimonogo系列集成并保留其快速显示和大数据处理功能?

我目前的做法感觉不对,有点难看.我有一个单独的SlickGrid数组,并编写一些胶水代码来处理更新事件:

  • 排序:由Meteor处理,触发完全刷新(重新设置数据)
  • 添加/更新/删除:计算索引并使其无效
  • 过滤:由Meteor处理,触发完全刷新(重新设置数据)

如何将Meteor数据光标直接绑定到SlickGrid并仅处理带有某些粘合代码的事件?或者可以使用Slick.dataview吗?目标是处理单元级别的更新.

javascript slickgrid meteor minimongo

8
推荐指数
1
解决办法
1030
查看次数

插入新对象时,Meteor 0.8.2客户端集合为空

我正在研究一个使用流星0.7.2的项目,它工作正常.更新到流星0.8.2后,我面临一个问题.

当我从客户端向集合插入一个对象时,集合是空的,然后它正在重新加载数据.当我更新集合对象时,有时会发生这种情况.

这只发生在一个集合中.其他收藏工作正常.

我正在使用铁路由器JQuery Sortable.

有人可以帮我这个吗?(我觉得在插入或更新时,minimongo和master之间会发生冲突.如果是这种情况,为什么会发生这种情况)

jquery-ui-sortable meteor minimongo

8
推荐指数
1
解决办法
132
查看次数

我可以在不使用整个Meteor或Blaze框架的情况下使用Minimongo吗?

我正在处理客户端上的大型json文件.我希望能够以与在服务器端查询mongo集合相同的方式查询json.我最近听说过minimongo,这正是我想要的.顺便说一下,我的后端是Flask,我在前端使用了角度.我可以在不使用整个Meteor/Blaze框架的情况下将Minimongo用作简单的JavaScript库吗?

javascript json meteor minimongo meteor-blaze

7
推荐指数
1
解决办法
840
查看次数

MongoDB - 仅投影数组中的匹配元素

如何从具有以下结构的 Mongo 文档中的数组中获取一个元素:

{
 array : [ 
           {type: 'cat', name: 'George'}
           {type: 'cat', name: 'Mary'} 
           {type: 'dog', name: 'Steve'} 
           {type: 'dog', name: 'Anna'}  

         ]
}
Run Code Online (Sandbox Code Playgroud)

例如,我需要得到 Steve,在这种情况下,结果必须如下所示:

{
 array : [ 
           {type: 'dog', name: 'Steve'}
 ] 
}
Run Code Online (Sandbox Code Playgroud)

或者: {type: 'dog', name: 'Steve'}

我知道如何在发布时制作它,但我需要在整个数组可用的客户端制作它,我可以使用 forEach 从数组中返回这个值,但我正在寻找更优雅的方式(使用 Mongo 查询)。

arrays mongodb meteor minimongo

7
推荐指数
1
解决办法
4881
查看次数

如何在Meteor客户端中查看Minimongo数据库的内容?

我知道我可以CollectionName.find().fetch()在浏览器的JS控制台中查询.是否有其他工具相当于所有 浏览器的本地minimongo存储的GUI管理工具?

mongodb meteor minimongo

6
推荐指数
2
解决办法
5289
查看次数

Meteor中的命名空间集合

我目前正在开发一个Meteor应用程序,它将基于不同的软件包(可能由不同的开发人员创建).

我的问题是,是否有一种流行的方式来命名空间集合,以便它们不会与其他可用集合发生冲突.

例如,我有一个包使用名为'todos'的集合,另一个包含名为'todos'的集合.有没有办法命名这些集合(例如,他们的包名称前缀)?

我发现MongoDB中的命名空间有一个'.'选项:http: //docs.mongodb.org/manual/faq/developers/#what-is-a-namespace-in-mongodb

这也是在Meteor中命名空间集合的最佳方式吗?

来到带有Rails背景的Meteor,我记得你可以在rails中创建命名空间的Engines(它也可以创建命名空间的数据库表).Meteor中有类似的东西吗?

我最接近的是我发现的这个问题:https: //github.com/CollectionFS/Meteor-cfs-gridfs/issues/6

提前致谢!

namespaces mongodb meteor minimongo

5
推荐指数
1
解决办法
330
查看次数

什么是minimongo(流星)限制?cursor.toArray()在客户端失败

昨天我试图在Meteor中使用获得一系列查询结果

cursor.toArray()
Run Code Online (Sandbox Code Playgroud)

(见http://docs.mongodb.org/manual/reference/method/cursor.toArray/)

我无法让它发挥作用.最后我在Meteor mongo控制台上尝试了它,它工作正常.

我是流星新手 - 我在这里错过了什么?是否有一个参考,告诉我客户端可以执行什么mongo代码?我查看了Meteor文档但无法找到.当我在Meteor中寻找我能做的事情时,我经常发现自己正在浏览Mongo文档(如上所述) - 这些在最小程度上是相关的吗?

谢谢!

javascript mongodb meteor minimongo

5
推荐指数
1
解决办法
1530
查看次数