[03:50:26] <AmazeCPK> can a collection store different data values for each element? ex: element 1 will have name, lastname. element 2 will store name, lastname, email
[04:38:05] <Boomtime> @AmazeCPK: MongoDB does not enforce any schema, you can store different elements per document, or different data types per element per document, MongoDB doesn't care
[04:41:25] <GothAlice> Boomtime: You are both correct and incorrect. ;P
[04:44:41] <Boomtime> 'can be made to care' is certainly true
[04:46:12] <GothAlice> More importantly, AmazeCPK, there's generally no particular reason to do that. One is free to vary fields, not just the types of fields, per-document. I.e. some records just not having an e-mail address is better than having a pseudo-anonymous field like "field2" to store name OR last name OR email, etc.
[04:46:31] <GothAlice> Sparse can be better than dense. ;)
[05:13:11] <spacecrab> GothAlice: i built my first replica set lol
[14:02:17] <LowWalker> So is there any extra option required to pass to the config file that allows starting of replSet, I'm seeing this type of error if anyone can help https://gist.github.com/lowwalker/6557c8dc56331f719401b20ae2b8062b
[14:04:01] <Derick> 2016-09-08T12:33:14.305+0000 E NETWORK [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
[14:10:05] <LowWalker> Running my automation again, I'll see where the service state is before I try a restart. I thought I could start it, add users, add a new cfg and then restart without issue
[14:10:36] <Derick> LowWalker: the restart apparently didn't stop it first
[14:12:24] <LowWalker> Correct, I'm using ansible and I just tried to have it explicitely stop and it didn't
[14:12:36] <LowWalker> So that looks like the thing to fix :)
[15:31:23] <Derick> why do you do the unwind twice?
[15:31:51] <jokke> yeahhh... well the field is an array
[15:32:01] <jokke> so in the first group i create nested arrays
[15:32:16] <Derick> this is too mindboggling for me :)
[15:32:31] <jokke> :D you're not alone :D my brain is toast...
[15:32:43] <Derick> it be nice to visualize this...
[15:33:10] <jokke> yes, totally. I'll do that at some point for documentation purposes
[16:44:34] <Toba> So.. I've tried to find info on this and have come up short in my googling. What were the problems with bindata subtype 3 (legacy uuid) that inspired the creation of subtype 4?
[16:44:44] <Toba> Does anyone know what the issue was that the new format was meant to resolve?
[16:44:52] <Toba> I just see vague statements about "problems"
[16:45:23] <Derick> it had to do with not specifying length IIRC
[16:45:45] <Toba> Do you know if there is an article/post that explains the problem?
[16:46:50] <Toba> I would really appreciate it Derick
[16:46:59] <Toba> it's really burning up dev time on my team right now... :(
[16:47:17] <Toba> also, does anyone know how indexes deal with a mix of both?
[16:47:34] <Toba> if something was saved as subtype 3, and hten you try to query it and pass in a subtype 4 value in the query, or vice versa
[16:47:37] <Toba> does it work? or does it not match.
[16:48:07] <GothAlice> Derick: When you bind a Document class to a collection in marrow.mongo, it switches the uuid_representation to STANDARD, vs. the legacy version the Python driver defaults to. I've been curious if this is wise or not, as the Pymongo docs describe it "changing some time in the future".
[16:48:10] <Derick> https://jira.mongodb.org/browse/SERVER-12835 lists "Subtype 4 should be used, and we should ensure that the generated UUID is compliant with RFC 4122."
[16:48:22] <Derick> GothAlice: I have not heard of "marrow"
[16:48:40] <Toba> I assume that refers to the "if no serialization specified, then this is how you serialize a uuid" part of RFC 4122
[16:58:02] <Toba> odd that the bug is in the java driver then
[16:58:20] <GothAlice> Endianness is open to opinion. ;P
[16:58:32] <cheeser> all the drivers had to update to the new type so i'm sure there were issues in the other drivers, too.
[16:58:35] <GothAlice> https://github.com/marrow/mongo/blob/develop/marrow/mongo/core/document.py?ts=4#L97-L107 < you might want to do something like this to mutate the CodecOptions for the collection you're using.
[16:58:48] <GothAlice> As the default hasn't been updated, and there's no particular estimate of when it'll happen.
[23:46:57] <zacharypch> hi, i'm trying to set up a replicaset with machines in three different locations. trying to use ssh tunnels as my means of doing it. so on the "primary" node, i'm starting forwards and reverse tunnels to the two secondaries, and on one secondary i'm starting forward and reverse tunnels to the other secondary. the hostnames in the rs.conf() seem problematic though because everything needs to be localhost, and the ports won't
[23:46:58] <zacharypch> match. so there must be a better way?
[23:52:54] <GothAlice> zacharypch: SSH is a poor performer in terms of throughput, and adds another "moving part" to fail in a setup.
[23:53:55] <GothAlice> zacharypch: Instead, enable SSL communication, node authentication, and allow them to connect to each-other directly. Since SSL is the basis for many VPNs (OpenVPN, for example), this method can be quite secure, especially with firewall rules controlling who is allowed to connect from where as an additional layer.
[23:54:03] <GothAlice> A "full enterprise solution" would also involve IPSec.
[23:58:58] <zacharypch> thanks GothAlice, for "node authentication", that's authentication between the members, like here: https://docs.mongodb.com/manual/core/security-internal-authentication/#inter-process-auth ?