Ejemplo n.º 1
0
 protected override void ProcessRecord()
 {
     if (!Connection.CollectionExists(Collection))
     {
         WriteWarning($"Collection\t['{Collection}'] does not exist");
     }
     else
     {
         try
         {
             var    col      = Connection.GetCollection("$indexes");
             string exp      = $"$.collection = '{Collection}'";
             var    indexcol = col.Find(exp);
             foreach (BsonDocument b in indexcol)
             {
                 PSObject psObject = new PSObject();
                 foreach (KeyValuePair <string, BsonValue> kvp  in b)
                 {
                     psObject.Properties.Add(new PSNoteProperty(kvp.Key, MSJsonDateConverter.ReadObject(kvp.Value)));
                     psObject.Properties.Add(new PSNoteProperty("Connection", Connection));
                 }
                 WriteObject(psObject);
             }
         }
         catch (Exception)
         {
             throw;
         }
     }
 }
Ejemplo n.º 2
0
        protected override void ProcessRecord()
        {
            if (ParameterSetName == "ID")
            {
                if (Connection.CollectionExists(Collection))
                {
                    var Table   = Connection.GetCollection(Collection);
                    var results = Table.FindById(ID);

                    if (results != null)
                    {
                        if (As.ToLower() == "psobject")
                        {
                            var Obj = MSJsonDateConverter.BSONtoPSObjectConverter1(results, Collection);
                            WriteObject(Obj);
                        }
                        else
                        {
                            WriteObject(Connection.Mapper.ToDocument(results));
                        }
                    }
                    else
                    {
                        WriteWarning($"Document with ID ['{ID}'] does not exist in the collection ['{Collection}']");
                    }
                    //results not null
                }
                else
                {
                    WriteWarning($"Collection ['{Collection}'] does not exist in the database");
                }
            }
            else if (ParameterSetName == "Query")
            {
                if (Connection.CollectionExists(Collection))
                {
                    var Table = Connection.GetCollection(Collection);
                    //var results = Table.Find(Query, Skip, Limit).ToList<BsonDocument>();
                    if (Where != null)
                    {
                        results = Table.Query().Where(Where).Select(Select).Limit(Limit).Skip(Skip).ToList();
                    }
                    else
                    {
                        results = Table.Query().Select(Select).Limit(Limit).Skip(Skip).ToList();
                    }

                    if (results != null)
                    {
                        if (As.ToLower() == "psobject")
                        {
                            foreach (var r in results)
                            {
                                var Obj = MSJsonDateConverter.BSONtoPSObjectConverter1(r, Collection);
                                WriteObject(Obj);
                            }
                        }
                        else
                        {
                            foreach (var r in results)
                            {
                                WriteObject(Connection.Mapper.ToDocument(r));
                            }
                        }
                    }
                }
                else
                {
                    WriteWarning($"Collection ['{Collection}'] does not exist in the database");
                }
            }
            else if (ParameterSetName == "Sql")
            {
                var results = Connection.Execute(Sql).ToList().Select(x => x.AsDocument);
                //WriteVerbose($"results is {results} and type is {results.GetType()}");
                if (results != null)
                {
                    if (As.ToLower() == "psobject")
                    {
                        foreach (var r in results)
                        {
                            if (r != null)
                            {
                                var Obj = MSJsonDateConverter.BSONtoPSObjectConverter1(r, Collection);
                                WriteObject(Obj);
                            }
                        }
                    }
                    else
                    {
                        foreach (var r in results)
                        {
                            WriteObject(Connection.Mapper.ToDocument(r));
                        }
                    }
                }
            }
            else
            {
                if (Connection.CollectionExists(Collection))
                {
                    var Table = Connection.GetCollection(Collection);

                    var results = Table.Find(Query.All(Query.Descending), Skip, Limit).ToList <BsonDocument>();
                    if (results != null)
                    {
                        if (As.ToLower() == "psobject")
                        {
                            foreach (var r in results)
                            {
                                var Obj = MSJsonDateConverter.BSONtoPSObjectConverter1(r, Collection);
                                WriteObject(Obj);
                            }
                        }
                        else
                        {
                            foreach (var r in results)
                            {
                                WriteObject(Connection.Mapper.ToDocument(r));
                            }
                        }
                    }
                }
                else
                {
                    WriteWarning($"Collection ['{Collection}'] does not exist in the database");
                }
            }
        }