0

Mongo 创建一个以日期为键的数组?

[_id] => MongoId Object (
    [$id] => 4fcf2f2313cfcd225700000d
)
[id] => 14
[name] => Aryan Roban
[news] => Array (
    [08-06-2012] => 12
)

在这里,我想要一个以日期为键的数组,以及如何删除特定的键行?

例如

我想删除 news 数组中键为 '08-06-2012' 的数组元素,我不知道它的值。

4

2 回答 2

0

查找文档不会是问题,这很容易。只需查看是否news有与您的搜索条件匹配的键:

db.foo.find({'news.08-06-2012': {'$exists': true}})

不要忘记在news.

但是删除它们并不容易。还有另一个线程显示了一种方法,但它确实是一种解决方法:在 mongoDb 中,如何通过索引删除数组元素遗憾的是,这仅适用于具有数字索引的数组,不适用于关联数组。

也许您可以使用自己的新闻收藏?然后您可以轻松更新和删除它们。否则,您可以从数据库中加载完整的文档,在应用程序中处理新闻,然后保存。这将需要两个数据库查询,但应该可以。

于 2012-06-08T10:01:52.727 回答
0

我们可以像这样使用

db.foo.update({/*...*/}, {$unset: {'news.11-06-2012', 1}})
于 2013-01-01T11:04:07.203 回答