使用golang和amp;的顺序查询MongoDB的

时间:2014-10-19 07:55:23

标签: mongodb go sequential

想知道从Golang为mongodb进行顺序查询的最佳方法是什么。 例如,你可以说:

result *bson.M
ids:=["543d171c5b2c12420dd016","543d171c5b2dd016"]
oids := make([]bson.ObjectId, len(ids))
for i := range ids {
  oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}
error:= c.Find(query).All(&result)

并且您希望获取_ids的输出并将其用作另一个表的查询。 这是正确的吗?

query = bson.M{"_id": bson.M{"$in": result}}

1 个答案:

答案 0 :(得分:0)

这里是如何使用从其他查询返回的文档的ID来构造查询。

 var docs []bson.M
 if err := c.Find(query).All(&docs); err != nil {
    // handle error
 }
 docIDs := make([]interface{}, len(docs))
 for i := range docs {
    docIds[i] = docs[i]["_id"]
}
query = bson.M{"_id": bson.M{"$in": docIDs}}