Есть ли способ поместить атрибуты в определенные позиции в документе MongoDB? - PullRequest
0 голосов
/ 26 июня 2019

У меня есть монго-документ с массивами и другими атрибутами.Есть ли способ показать массивы в конце или в определенной позиции внутри записи?

{ 
    "_id" : ObjectId("5d1346df616b6529730b0000"), 
    "url" : [
        "URL 1", 
        "URL 2", 
        "URL 3"
    ], 
    "photos" : [
        "Photo 1", 
        "Photo 2"
    ], 
    "title" : "Lorem Ipsum Title", 
    "privacy" : "public", 
    "description" : "Lorem Ipsum description", 
    "updated_at" : ISODate("2019-06-26T10:20:15.753+0000"), 
    "created_at" : ISODate("2019-06-26T10:20:15.753+0000")
}

Спасибо.

1 Ответ

0 голосов
/ 26 июня 2019

Вы получите результат в том порядке, в котором они хранятся в коллекции. Так как они просто JSON, заказывать их не нужно, потому что вы собираетесь обращаться к ним по ключам.

но все же, если в этом есть необходимость, вы можете обмануть коллекцию путем агрегирования.

db.collection.aggregate([
    {
        $project: {
            "_id": "$_id",
            "title": "$title",
            "privacy": "$privacy",
            "description": "$description",
            "updated_at": "$updated_at",
            "created_at": "$created_at",
            "url": "$url",
            "photos": "$photos",
        }
    }
])

вы получите результат в том же порядке, который вы применили в project конвейере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...