Jonathan Fishbein
Jonathan Fishbein

Reputation: 526

How to query and return all documents in documentdb using linq

let problemDocument = documentClient.CreateDocumentQuery<ProblemDatabaseModel>("")

problemDocument

doesn't seem to work

(problemDocument.Select(fun problem -> problem))

doesn't seem to work

(problemDocument.Where(fun problem -> problem.id = problem.id))

doesn't seem to work either. Any ideas?

Upvotes: 0

Views: 1797

Answers (1)

Jambor - MSFT
Jambor - MSFT

Reputation: 3293

If you want to query all document in document db, please try to below code:

documentClient.CreateDocumentQuery<ProblemDatabaseModel>("").ToList();

Please note that, we can store different json entity in documentDB, if document property does not in your data model, it will give a default value. I have a simple test for this:

Data model:

public class Cred
{
    [JsonProperty(PropertyName = "id")]
    public string ID { get; set; }
    [JsonProperty(PropertyName = "title")]
    public string Title { get; set; }
    [JsonProperty(PropertyName = "credits")]
    public int Credits { get; set; }
    [JsonProperty(PropertyName = "authordetails")]
    public AuthDetail AuthInfo { get; set; }
}

If json data in documentDB is:

{
  "id": "CDC103",
  "title": "Fundamentals of database design",

  "authordetails": {
    "Name": "dave",
    "Age": 33
  },
  "custom":"test"
}

client.CreateDocumentQuery<Cred>(UriFactory.CreateDocumentCollectionUri("jambordb", "jamborcols")).ToList();

Here is the result:

enter image description here

From the screenshot we know that, the property "custom" will not included in our data model. and the credits will give a default value 0.

Upvotes: 1

Related Questions