在空集合上未创建电机索引

约翰·B

我有以下代码来设置数据库:

self.con = motor.MotorClient(host, port)
self.Db = self.con.DB
self.Col = self.Db.Col

self.Col.create_index("c")
self.Col.create_index("h")

运行时,index_information()我只会在_id字段上看到索引信息。但是,如果我create_index()在插入某些条目后移动,则会index_information()显示新索引。这是否意味着我必须等到集合中有条目之后才能创建索引?自从一个空集合开始以来,还有另一种方法吗?

杰西·杰鲁·戴维斯

可以在一个空的或不存在的MongoDB集合上创建索引,该索引将出现在index_information

>>> from tornado import ioloop, gen
>>> import motor
>>>
>>> con = motor.MotorClient()
>>> db = con.test
>>> col = db.collection
>>>
>>>
>>> @gen.coroutine
... def coro():
...     yield db.drop_collection("collection")
...     yield col.create_index("c")
...     yield col.create_index("h")
...     print((yield col.index_information()))
...
>>> ioloop.IOLoop.current().run_sync(coro)
{u'c_1': {u'key': [(u'c', 1)], u'v': 1}, u'_id_': {u'key': [(u'_id', 1)], u'v': 1}, u'h_1': {u'key': [(u'h', 1)], u'v': 1}}

由于我在示例代码中看不到任何“ yield”语句或任何回调,因此我怀疑您未正确使用Motor。电机是异步的;为了等待与数据库服务器对话的任何Motor方法完成,您必须将回调传递给该方法,或者让该方法返回Future。

有关更多信息,请参阅教程:

http://motor.readthedocs.org/en/stable/tutorial.html#inserting-a-document

关于使用Motor调用异步方法的讨论(这不仅适用于Motor,而且适用于所有Tornado库),从“插入文档”部分开始。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在空集合上未创建电机索引

来自分类Dev

实体DbSet和Any()在空集合上产生true

来自分类Dev

.First不会在空集合上引发异常

来自分类Dev

.First不会在空集合上引发异常

来自分类Dev

区分WebParam中的空集合和空集合

来自分类Dev

空集合视图Swift

来自分类Dev

LINQ 到空集合

来自分类Dev

Groups API 空集合

来自分类Dev

从方法返回空集合

来自分类Dev

使用Gson从JSON删除空集合

来自分类Dev

Automapper空集合变为空

来自分类Dev

从方法返回空集合

来自分类Dev

“java.lang.UnsupportedOperationException:空集合”

来自分类Dev

猫鼬-使用post方法创建一个新的空集合

来自分类Dev

使NA的NA的空集合/集合的总和而不是0?

来自分类Dev

使用CQL 3.0在集合上创建自定义索引

来自分类Dev

JAXB将空列表映射到空集合?

来自分类Dev

如何合并.Max()以查询LINQ to EF中的空集合?

来自分类Dev

NavigationProperty.GetDependentProperties()返回一个空集合

来自分类Dev

空集合的联接结果是什么

来自分类Dev

使用gong-wpf放入空集合

来自分类Dev

C#Linq-获取不为空集合的对象

来自分类Dev

MongoDB | 如何仅显示非空集合?

来自分类Dev

使用Mapster映射时,获取空集合而不是null

来自分类Dev

NavigationProperty.GetDependentProperties()返回一个空集合

来自分类Dev

从转储还原后,MongoDB仍显示空集合

来自分类Dev

HttpServletRequest#getParts()jsp始终返回空集合

来自分类Dev

MVC QueryString是一个空集合

来自分类Dev

为什么查询返回空集合?