0

Mongo は日付をキーとして配列を作成しますか?

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

ここで、日付をキーとして配列としてニュースを作成し、特定のキー行を削除する方法が必要ですか?

例えば

ニュース配列のキー「08-06-2012」の配列要素を削除したいのですが、その値がわかりません。

4

2 に答える 2

0

次のように使用できます

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

ドキュメントの検索は問題ありません。これは非常に簡単です。news検索条件に一致するキーがあるかどうかを確認するだけです。

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

に索引を付けることを忘れないでくださいnews

しかし、それらを削除することは容易ではありません。それを行う方法を示す別のスレッドがありますが、実際には回避策です: mongoDb では、配列要素をインデックスで削除する方法 残念ながら、これは数値インデックスを持つ配列でのみ機能し、連想配列では機能しません。

ニュース用に独自のコレクションを使用できますか? その後、それらを簡単に更新および削除できます。それ以外の場合は、データベースから完全なドキュメントをロードし、アプリケーションでニュースを操作して、後で保存することができます。これには 2 つのデータベース クエリが必要ですが、動作するはずです。

于 2012-06-08T10:01:52.727 に答える